摘要:
LCT维护重心 考虑合并两个树找重心 LCT维护子树SZ 法一: 暴力插入,启发式合并。每次插入一个考虑是否要把重心进行移动。条件是这条边的两边的子树sz哪个更大。相同则取编号小的。 O(Nlog^2N)不够优秀 法二: 找重心太暴力 两个树新的重心一定在重心相连的路径上。否则一定会有一个子树sz> 阅读全文
摘要:
看似很难 其实很水 仔细观察其实是两问。 第一问确定xi,yi, posi=(ci+d*xi+yi) mod n不是白给的。 其实是同一个d*x+c的环上的所有点通过xi调整找到,yi的作用是更新到另一个环上去。 暴力枚举yi,每个环上用并查集维护紧跟着下一个可选择的 如果下一个被删除了,那么这个环 阅读全文
摘要:
对于这样一类问题: 区间取min,区间求和。 N<=100000 要求O(nlogn)级别的算法 直观体会一下,区间取min,还要维护区间和 增加的长度很不好求。。。。 然鹅, 从前有一个来自杭州天水幼儿园的julao叫九条可怜 他发明了一个线段树的写法, 攻克了这个难题。 说起来很简单: 线段树维 阅读全文