Processing math: 100%

01 2019 档案

摘要:用途 求生成树个数 做法 定义度数矩阵A,A[i][i]为i号点的度数;邻接矩阵B,B[i][j]为点i到j的边数 对于无向图,用A-B,然后随意选一个i,去掉第i行和第i列,它的行列式就是生成树个数 对于有向图,外向树的个数就是把度数矩阵换成入度矩阵;内向树的个数就是换成出度矩阵;删掉的行列一定要 阅读全文
posted @ 2019-01-16 14:19 Ressed 阅读(180) 评论(0) 推荐(0) 编辑
摘要:Miskcoo大佬的多项式全家桶传送门 rvalue大佬的FFT讲解传送门 用途 将多项式快速(nlogn)变成点值表达,或将点值表达快速变回系数表达(逆变换),(多数时候)来达到求卷积的目的 做法 (为了方便,用wn代表n次单位根的ωn) 考虑选取特殊点,并用分治缩小问题规模 首先在多项式高位补零 阅读全文
posted @ 2019-01-16 14:08 Ressed 阅读(319) 评论(0) 推荐(0) 编辑
摘要:用途 快速(O(n3/4logn))地计算一些函数f的前缀和,以及(作为中间结果的)只计算质数的前缀和 一般要求f(p)是积性函数,f(p)是多项式的形式,且f(pk)可以快速计算 做法 首先考虑求出范围内的质数的取值的和 如果有$f(p)=\sum{a_i 阅读全文
posted @ 2019-01-11 20:44 Ressed 阅读(540) 评论(0) 推荐(0) 编辑
摘要:用途 比线性更快(O(n23))地求某些积性函数的前缀和 前置知识:狄利克雷卷积 形如h(n)=d|nf(d)g(nd),则称h(n)=f(x)g(x) 如果f和g都是积性函数,则卷出的h也是积性函数 可以证明,狄利 阅读全文
posted @ 2019-01-06 12:53 Ressed 阅读(191) 评论(0) 推荐(0) 编辑
摘要:前置技能:整除分块 计算形如ni=1aif(ni)的式子 可以发现ni只有O(n)种取值,且相同的取值的i是连续的,所以可以$O(\sqrt{n} 阅读全文
posted @ 2019-01-05 23:00 Ressed 阅读(194) 评论(0) 推荐(0) 编辑
摘要:对S建SAM,拿着T在上面跑 跑的时候不仅无法转移要跳parent,转移过去不在范围内也要跳parent(注意因为范围和长度有关,跳的时候应该把长度一点一点地缩) 这样就能得到对于T的每个前缀,它最长的不合法的后缀的长度ill[i] 得到他要去重,以后可以再对T建SAM,然后对于每个节点,$ans+ 阅读全文
posted @ 2019-01-01 18:51 Ressed 阅读(230) 评论(0) 推荐(0) 编辑
摘要:首先,让每一个叶节点做一次树根的话,每个路径一定至少有一次会变成直上直下的 于是对于每个叶节点作为根产生的20个trie树,把它们建到同一个广义SAM里 建法是对每个trie dfs去建,last就是父亲的那个节点;每次做一个新trie时,last给成root 然后答案就是每个节点表示的长度和 阅读全文
posted @ 2019-01-01 18:24 Ressed 阅读(232) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示