![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多项式——FFT/NTT
DSL_HN_2002
一名中学生oier,已退役
展开
-
「SDOI2015」序列统计-DP+NTT
Decription给定集合SSS,集合SSS中的元素都小于等于MMM.求有多少种数列满足长度为nnn,且数列中元素乘积modMmodM\mod M的值为XXX.Solution10pts10pts10pts:设fi,jfi,jf_{i,j}表示数列中填了iii个数,乘积modmmodm\mod m为jjj的方案数,每次枚举有下一元素modMmodM\mod M的值即可.60p...原创 2018-07-01 00:21:44 · 322 阅读 · 0 评论 -
「Codeforces438E」The Child and Binary Tree-生成函数+多项式求逆+多项式开方
Description链接Solution设fif_ifi表示点权和为iii的二叉树个数,cic_ici表示点权为iii的点的个数。那么fi=∑i=0nci∑j=0n−ifj×fn−i−jf_i=\sum_{i=0}^n c_i \sum_{j=0}^{n-i}f_j\times f_{n-i-j}fi=∑i=0nci∑j=0n−ifj×fn−i−j设FiF_iFi表示...原创 2018-12-22 17:29:44 · 261 阅读 · 0 评论 -
「AGC005F」Many Easy Problems-NTT
Description链接Solution考虑每个点uuu的贡献对f(k)f(k)f(k)。即Cnk−∑v∈son of uCsizvkC_{n}^k-\sum_{v \in son \ \ of \ \ u} C_{siz_v}^kCnk−∑v∈son of uCsizvk。意思是在它的子树中选...原创 2018-12-22 17:28:20 · 165 阅读 · 0 评论 -
「Luogu4173」&&「BZOJ4529」残缺的字符串-FFT
Description给定两个具有通配符的串AAA,BBB。其中AAA是模板串,求匹配数。Solution考虑没有通配符怎么匹配,即从起始位置开始每个字符都相同,即∑i=aa+∣T∣−1(si−ti−a)2=0\sum_{i=a}^{a+|T|-1}(s_i-t_{i-a})^2=0∑i=aa+∣T∣−1(si−ti−a)2=0。而通配符可以与任何字符相同,相当于乘上了000,即∑i...原创 2018-12-20 14:56:22 · 167 阅读 · 0 评论 -
「 CodeForces954I」Yet Another String Matching Problem-FFT
Description定义两个长度相等的字符串之间的距离为:把两个字符串中所有同一种字符变成另外一种,使得两个字符串相等所需要操作的次数的最小值。求sss中每一个长度为∣t∣|t|∣t∣的连续子串与ttt的距离。字符集为小写字母a到f。Solution考虑如果只有两个串怎么做,肯定是从左到右扫一遍,如果某两个字符不相同,则用并查集判断是否在同一个集合里,如果不在则加入同一个集合并且答案...原创 2018-12-20 14:54:00 · 223 阅读 · 0 评论 -
「AGC005F」Many Easy Problems-NTT
Description给定一个 nnn 个节点的树,定义 f(S)f(S)f(S) 表示在树上包含点集 SSS 的最小联通块的大小。对于每一个 kkk,求出所有大小为 kkk 的点集的f(S)f(S)f(S) 的和。Solution考虑每个点uuu的贡献对f(k)f(k)f(k)。即Cnk−∑v∈son of uCsizvkC_{n}^k-\su...原创 2018-12-20 14:51:35 · 183 阅读 · 0 评论 -
「BZOJ3771」Triple-生成函数+FFT
Decription给定一个物品集合,每个物品有一个价值。可以在其中使用1,2,31,2,31,2,3个物品,求凑成的物品总价值方案数。n,ai⩽40000n,ai⩽40000n,a_i \leqslant 40000Solution设aiaia_i表示取一个物品价值和为iii的方案数,bi,cibi,cib_i,c_i分别为两个,三个物品的方案数。对于每一个出现的价值,就在其...原创 2018-08-06 14:32:49 · 304 阅读 · 0 评论 -
「TJOI / HEOI2016」求和-NTT+第二类斯特林数
Description给定nnn,求f(n)=∑i=0n∑j=0iS(i,j)×2j×j!f(n)=∑i=0n∑j=0iS(i,j)×2j×j!f(n)=\sum_{i=0}^n\sum_{j=0}^iS(i,j)\times 2^j \times j!Solution推式子f(n)=∑i=0n∑j=0iS(i,j)×2j×j!f(n)=∑i=0n∑j=0iS(i,j)×2...原创 2018-07-04 18:15:16 · 336 阅读 · 0 评论 -
「BZOJ3160」万径人踪灭-FFT+Manacher
Decription要求在只含a,ba,ba,b的字符串中选取一个子序列,使得:位置和字符都关于某条对称轴对称.不能是连续的一段.Solution可以求出所有满足条件1的子序列,然后去掉不满足条件2的部分(回文串).设fifif_i表示以iii为对称轴的合法子序列方案数.可以发现fi=2(∑si−x=si+x)−1fi=2(∑si−x=si+x)−1f_i=2^{(\...原创 2018-07-01 22:37:03 · 185 阅读 · 0 评论 -
「BZOJ5093」图的价值-NTT+第二类斯特林数
Description“简单无向图”是指无重边、无自环的无向图(不一定连通)。一个带标号的图的价值定义为每个点度数的kkk次方的和。给定nnn和kkk,请计算所有nnn个点的带标号的简单无向图的价值之和。因为答案很大,请对998244353998244353998244353取模输出。Solution对于每个点分别考虑贡献:n×2n(n−1)2−(n−1)∑i=0n−1...原创 2018-07-08 14:10:19 · 198 阅读 · 0 评论 -
「Luogu4233」射命丸文的笔记-生成函数+多项式求逆
Description链接Solution考虑所有竞赛图的哈密顿回路条数n!n2Cn2−n\frac {n!} {n} 2^{C_{n}^{2}-n}nn!2Cn2−n,即选出一条哈密顿回路剩下的边任意连。但题目中所求的是有哈密顿回路条数的竞赛图,即强联通的竞赛图。设f(n)f(n)f(n)表示点数为nnn的强联通竞赛图数量。g(n)g(n)g(n)表示点数为nnn的竞赛图数量。得到...原创 2018-12-22 17:32:31 · 252 阅读 · 0 评论