【教程】 用VSCode写C++

之前在Ubuntu下一直用的是Gedit写代码,非常的朴素,用户体验也挺好的。 近日暴发户了一波买了人生第一台一手笔记本(以前用的都是家里人用过的)(雾),装的windows就懒得装双系统了难得弄。 然后编程环境的话。。。高分辨率屏幕下devc++就是一坨稀饭,gedit虽然有for win但是没了 阅读更多…

【题解】 Chords 计数dp AGC028D ——quhengyi11

发出可爱的声音.wva 题目大意 给圆圈上的2n个点两两连线,事先给你连了k对点,让你求连完后的所有方案中的联通块个数之和,联通块的定义是如果两条线交叉那么同属于一个联通块。 Atcoder的题太妙了 首先我们考虑转换思维,考虑每一个联通块对答案的贡献,我们就能这样设方程 设$dp[i][j]$表示 阅读更多…

【题解】 二分图 分治+并查集 BZOJ – 4025

1. 题目 传送门= ̄ω ̄= 2. 题解 好神啊QwQ 首先二分图就是没有奇环的图 因此如果只有加边的话可以用带权并查集维护两点之间的路径奇偶性。 因为存在删边操作因此我们需要对时间分治。 对于分治的时间区间为$[l, r]$的情况,枚举每一条存在时间包含在$[l, r]$的边,设其存在时间为$[s 阅读更多…

【题解】 [Ahoi2013]差异 后缀自动机 BZOJ – 3238

1. 题目 传送门= ̄ω ̄= 2. 题解 可以看出如果我们能建出后缀树就很简单了,只要在树上lca处数点就行了 然后我就去学了Ukkonen,然而发现还不如老老实实用后缀自动机来得方便一些。 后缀自动机的fail树(也有人称之为pre树、next树等等等等反正就是适配了跳转的边形成的那个树)其实就是 阅读更多…

【题解】 Beautiful Pair 毒瘤变log思想+BIT+单调栈 luogu4755 ——quhengyi11

不用说你也知道我是什么了吧 啊呜 题解 首先考虑暴力搞,分治,每次把当前区间最大的数拎出来,然后统计左右两边的贡献 这种方法显然会被一个严格升序列给卡成$n^2$ 考虑优化上面的暴力,我们发现我们统计的实际上是分别以这$n$个数为中心(也就是最大的那个数$max$)并且求两边数对它的贡献的,分治只是 阅读更多…

【题解】 Count 单调栈+主席树 BZOJ – 3956

//失踪人口回归系列 1. 题目 传送门= ̄ω ̄= 2. 题解 没想到一个月没摸过C++居然1A了(C++是什么?俄文吗?) 思路很简单啦,单调栈找出所有的有序对。 维护一个单调递减的栈 对于当前元素,如果栈顶元素小于(或等于)它,那么它们就是一对合法有序对,然后把栈顶元素弹出。如果栈顶比当前元素大 阅读更多…