摘要: 小于x的赋值为1,否则为0 区间等于k的个数 求0~n连续的n+1个k? N<=1e5? FFT! 考虑卷积建模:用下标相加实现转移到位,数值相乘类比乘法原理! 法一: 分治,然后FFT没了 法二: 不分治也可以!区间查询->前缀相减 ans[j-i]=f[j]*f[i],f[i]表示数值为i的前缀 阅读全文
posted @ 2018-12-27 19:36 *Miracle* 阅读(308) 评论(0) 推荐(0) 编辑
摘要: LCT维护重心 考虑合并两个树找重心 LCT维护子树SZ 法一: 暴力插入,启发式合并。每次插入一个考虑是否要把重心进行移动。条件是这条边的两边的子树sz哪个更大。相同则取编号小的。 O(Nlog^2N)不够优秀 法二: 找重心太暴力 两个树新的重心一定在重心相连的路径上。否则一定会有一个子树sz> 阅读全文
posted @ 2018-12-27 19:29 *Miracle* 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 看似很难 其实很水 仔细观察其实是两问。 第一问确定xi,yi, posi=(ci+d*xi+yi) mod n不是白给的。 其实是同一个d*x+c的环上的所有点通过xi调整找到,yi的作用是更新到另一个环上去。 暴力枚举yi,每个环上用并查集维护紧跟着下一个可选择的 如果下一个被删除了,那么这个环 阅读全文
posted @ 2018-12-27 15:27 *Miracle* 阅读(189) 评论(0) 推荐(0) 编辑
摘要: 对于这样一类问题: 区间取min,区间求和。 N<=100000 要求O(nlogn)级别的算法 直观体会一下,区间取min,还要维护区间和 增加的长度很不好求。。。。 然鹅, 从前有一个来自杭州天水幼儿园的julao叫九条可怜 他发明了一个线段树的写法, 攻克了这个难题。 说起来很简单: 线段树维 阅读全文
posted @ 2018-12-27 12:17 *Miracle* 阅读(969) 评论(0) 推荐(0) 编辑