随笔分类 - 倍增
摘要:乘法并不容易用 FFT 或 NTT 维护,考虑在模意义下化乘为加。 化乘为加主要有两种方法:\(\log\) 和 \(\gamma\)(指标),由于在取模意义下,所以使用后者。 那剩下的部分就是快速幂,用 NTT 加速即可。时间复杂度 \(O(m\log m\log n)\)。 #include<b
阅读全文
摘要:好题,又学两个思路。 先把问题变简单一点,去掉深度限制,那么有两种做法: 经典的前驱后继转化到二维数点。 颜色相同的点按 \(dfs\) 序排序,每个点 \(+1\),相邻两点 \(lca-1\)。转化为区间求和。 第二种相对实现简单。 假如加上深度,我们可以离线问题,按深度顺序加点。 要在线的话,
阅读全文
摘要:三棵树就很毒瘤了,我们一棵一棵看。 关于第一棵树的路径,经典解法就是点分治和边分治,考虑哪种更加简单。 设 \(dis1/2/3(x)\) 表示 \(x\) 在第 \(1/2/3\) 棵树中的深度(第一棵树的深度当然是点到重心或重边的距离),\(lca2/3(x,y)\) 表示在第 \(2/3\)
阅读全文
摘要:\(xor\) 最大值想到线性基,路径想到 \(lca\) 和树链剖分,由于没有修改用 \(lca\) 就可以。先用处理 \(fa\) 数组的方式处理倍增线性基(自然是得用线性基合并的),在求 \(lca\) 时把所有线性基全部合到一块儿就行。 考虑到本题实际上核心在于让路径上的线性基数量 \(\l
阅读全文
摘要:\(NOIP\) 考前祈福。 实际上,每种伤害 \(d\) 打出的亵渎次数可以转化为: \[1+\max\limits_{i=0}^{\lceil\frac{n}{d}\rceil}(i[\sum\limits_{j=1}^{i}[sum(jd-d+1,jd)>0]=i]) \]其中 \(sum(i
阅读全文
摘要:珂朵莉树+树链剖分+BIT+ST表。
阅读全文

浙公网安备 33010602011771号