随笔分类 - 笔记
摘要:已知两个数组,求一个数组,满足。这里我们把这个东西称为下标模意义下的多项式乘法。那么这个东西怎么做呢? **先说结论:**如果MOD M意义下存在K次单位根,那么把平时用NTT做多项式乘法时的
阅读全文
摘要:求最小生成树有两种广为人知的方法,Kruskal和Prim。但是在某些特殊的情况下,比如边特别多但是边权满足一些特殊的性质,这时需要用到Boruvka算法。 Boruvka的算法流程如下:一开始没加任何边的情况下,每个点都是一个独立的连通块。每一轮,对每个连通块找出连接它和另一个连通块的权值最小的边
阅读全文
摘要:长链剖分也是一种树上的链剖分的方法。与重链剖分不同,长链剖分对于树上的每个点,取子树深度最大的儿子,向它连重边,其他的儿子向它连轻边。容易发现一个点所在的重链的长度至少为它子树的深度。 利用这个性质可以预处理,求树上任意节点的k级祖先。比如当前要询问点x的k级祖先(k
阅读全文
摘要:假设现在有2个矩阵a和b,分别是n行m列和x行y列,现在你要计算它们的二维卷积,也就是求出矩阵s满足: 先把两个矩阵的行数都扩展到不小于n+x的最小2的次幂数,列数同理,这个跟普通FFT
阅读全文
摘要:素数的原根的定义:若在mod p意义下各不相同,则g是p的一个原根。质数的最小的原根通常很小,所以从2开始枚举每一个正整数,判断其是否为p的原根。 判断的方法:如果g不是p的原根,则存在满足
阅读全文