
FFT
v5zsq
新的一天,新的不会
展开
-
HDU 6120 All Kill(数论+FFT+莫比乌斯反演)
Description 给一个非负序列x1,2,...,nx_{1,2,...,n},值小于32677,令yi,j=xi∗xj mod 32677y_{i,j}=x_{i}*x_{j} \ mod\ 32677,问有多少六元组(a,b,c,d,e,f)(a,b,c,d,e,f)满足gcd(ya,b,yc,d)=gcd(yc,d,ye,f)=gcd(ye,f,ya,b)=1gcd(y_{a,b},y原创 2017-08-16 16:06:35 · 619 阅读 · 0 评论 -
CodeForces 568 B.Symmetric and Transitive(dp+生成函数+FFT)
Description找出nnn个点的二元关系中满足对称性和传递性但不满足自反性的个数Input一个整数n(1≤n≤4000)n(1≤n≤4000)n(1\le n\le 4000)Output输出满足条件的二元关系数,结果模109+7109+710^9+7Sample Input1Sample Output1Solution1把二元关系看作边,那么一个...原创 2018-01-11 20:34:08 · 650 阅读 · 0 评论 -
CodeForces 623 E.Transforming Sequence(dp+FFT+快速幂)
Description用[1,2k−1][1,2^k-1]之间的整数构造一个长度为nn的序列a1,...,ana_1,...,a_n,令bi=a1|a2|...|ai,1≤i≤nb_i=a_1|a_2|...|a_i,1\le i\le n,问使得bb序列严格递增的方案数Input两个整数n,k(1≤n≤1018,1≤k≤30000)n,k(1\le n\le 10^{18},1\le原创 2018-01-12 21:27:49 · 1073 阅读 · 3 评论 -
CodeForces 286 E.Ladies' Shop(生成函数+FFT)
Description给出nn个不同的数a1,...,ana_1,...,a_n,现在要求从这nn个数中选出最少的数字,使得其满足每一个aia_i都可以通过从中选取任意数字(每种数字可以选任意个)组成,且从中取任意数字,只要其和不超过mm,那么其和必然在之前的nn个数里出现过Input第一行两个整数n,mn,m,之后输入nn个正整数a1,...,ana_1,...,a_n(1≤n,m≤106,1≤p原创 2018-01-04 13:06:12 · 820 阅读 · 0 评论 -
CodeForces 632 E.Thief in a Shop(生成函数+FFT+快速幂)
Descriptionnn种物品,第ii种物品价值为aia_i,每种物品数量无限,拿kk件物品,问可能的价值和Input第一行两个整数n,kn,k,之后输入nn个整数aia_i表示第ii件物品的价值(1≤n,k,ai≤1000)(1\le n,k,a_i\le 1000)Output输出拿kk件物品所有可能的的价值和Sample Input3 2 1 2 3Sam原创 2018-01-13 19:47:10 · 677 阅读 · 0 评论 -
CodeForces 827 E.Rusty String(FFT)
Description给出一个只由′V′′V′'V',′K′′K′'K',′?′′?′'?'组成的字符串,′?′′?′'?'可以变成′V′′V′'V'或′K′′K′'K',问该字符串可能的循环节Input第一行输入一整数TTT表示用例组数,每组用例首先输入一整数nnn表示字符串长度,之后输入一个长度为nnn的字符串(1≤n≤5⋅105)(1≤n≤5⋅105)(1\le n\le 5\c...原创 2018-01-14 20:07:10 · 959 阅读 · 2 评论 -
HDU 6159 Graph Of Zhuper(dp+CDQ分治+FFT+生成函数+莫比乌斯反演)
DescriptionGG为一个nn个点带标号无向图,无重边无自环,假设其有kk个连通分支,第ii个连通分支点数为sizeisize_i,定义GG的权值Zhu(G)=gcd(size1,size2,...,sizek)Zhu(G)=gcd(size_1,size_2,...,size_k),求∑Zhu(G)\sum Zhu(G)Input第一行一整数TT表示用例组数,每组用例输入两个整原创 2018-01-22 20:03:35 · 738 阅读 · 0 评论 -
CodeForces 438 E.The Child and Binary Tree(生成函数+FFT)
Description称一个带点权有根二叉树是好的当且仅当每个节点的权值均属于集合{c1,c2,...,cn}\{c_1,c_2,...,c_n\},令整棵树的权值为所有点的点权之和,给出一整数mm,对每个s≤ms\le m,求出权值为ss的好二叉树个数Input第一行输入两个整数n,mn,m,之后输入nn个正整数ci(1≤n,m≤105,1≤ci≤105)c_i(1\le n,m\le 10^5,原创 2018-01-08 21:44:30 · 387 阅读 · 0 评论 -
51Nod 1258 序列求和 V4(组合数学+FFT)
DescriptionT(n)=nk,S(n)=T(1)+T(2)+......T(n)T(n)=nk,S(n)=T(1)+T(2)+......T(n)T(n) = n^k,S(n) = T(1) + T(2) + ...... T(n)。给出nnn和kkk,求S(n)S(n)S(n)。例如k=2,n=5,S(n)=12+22+32+42+52=55k=2,n=5,S(n)=12+22+...原创 2018-09-05 08:19:27 · 494 阅读 · 0 评论 -
HDU 6340 Problem I. Delightful Formulas(莫比乌斯反演+数论+FFT)
Description给出n,Kn,Kn,K,令si=∑j≤ijKsi=∑j≤ijKs_i=\sum\limits_{j\le i}j^K,求∑1≤i≤nsi[gcd(i,n)=1]∑1≤i≤nsi[gcd(i,n)=1]\sum\limits_{1\le i\le n}s_i[gcd(i,n)=1]Input第一行一整数TTT表示用例组数,每组用例首先输入一整数KKK,之后输入一整数...原创 2018-09-06 08:16:54 · 382 阅读 · 0 评论 -
Newcoder 141 D.Encrypted String Matching(FFT)
Description给出两个只由小写字母组成的字符串S,TS,TS,T以及一个小写字母的排列,这两个字符串是以这个排列为密钥加密后的密文,依旧记两个字符串的原文为S,TS,TS,T,对TTT的一个长度为|S||S||S|的子串,只要这两个字符串每个位置的字母差值不超过111则视为两个字符串匹配,问TTT有多少子串与SSS匹配,输出这些子串在TTT中的起始位置Input输入两个只由小写...原创 2018-09-15 22:05:07 · 405 阅读 · 1 评论 -
BZOJ 3684 大朋友和多叉树(生成函数+FFT)
Description我们的大朋友很喜欢计算机科学,而且尤其喜欢多叉树。对于一棵带有正整数点权的有根多叉树,如果它满足这样的性质,我们的大朋友就会将其称作神犇的:点权为11的结点是叶子结点;对于任一点权大于11的结点uu,uu的孩子数目deg[u]deg[u]属于集合DD,且uu的点权等于这些孩子结点的点权之和。 给出一个整数ss,你能求出根节点权值为ss的神犇多叉树的个数吗?请参照样例以更原创 2017-12-22 20:27:07 · 833 阅读 · 0 评论 -
BZOJ 3625 小朋友和二叉树(生成函数+FFT)
Description我们的小朋友很喜欢计算机科学,而且尤其喜欢二叉树。 考虑一个含有nn个互异正整数的序列c[1],c[2],...,c[n]c[1],c[2],...,c[n]。如果一棵带点权的有根二叉树满足其所有顶点的权值都在集合{c[1],c[2],...,c[n]}\{c[1],c[2],...,c[n]\}中,我们的小朋友就会将其称作神犇的。并且他认为,一棵带点权的树的权值,是其原创 2017-12-22 20:13:06 · 852 阅读 · 0 评论 -
BZOJ 4555 求和(生成函数+FFT)
Description在2016年,佳媛姐姐刚刚学习了第二类斯特林数,非常开心。现在他想计算这样一个函数的值:f(n)=∑i=0n∑j=0nS(i,j)×2j×j!f(n)=\sum\limits_{i=0}^n\sum\limits_{j=0}^nS(i,j)\times 2^j\times j!S(i,j)S(i, j)表示第二类斯特林数,递推公式为:S(i,j)=j∗S(i−原创 2017-12-22 21:07:11 · 631 阅读 · 0 评论 -
CodeForces 528 D.Fuzzy Search(FFT)
Description 给出一个长度为nn的串SS和一个长度为mm的串TT,两个串均只由′A′,′G′,′C′,′T′'A','G','C','T'组成,定义TT和SS在ii位置匹配为对于任意1≤j≤m1\leq j\leq m,存在p(1≤p≤n)p(1\leq p\leq n)使得|(i+j−1)−p|≤k|(i+j-1)-p|\leq k且S[p]=T[j]S[p]=T[j],问TT可以在多原创 2017-08-16 18:02:02 · 577 阅读 · 0 评论 -
UOJ 34 多项式乘法(FFT)
Description 给你两个多项式,请输出乘起来后的多项式 Input 第一行两个整数nn和mm,分别表示两个多项式的次数 第二行n+1n+1个整数,分别表示第一个多项式的00到nn次项前的系数 第三行m+1m+1个整数,分别表示第一个多项式的00到mm次项前的系数 Output 一行n+m+1n+m+1个整数,分别表示乘起来后的多项式的00到n+mn+m次项前的系数 Sampl原创 2017-08-16 18:41:54 · 478 阅读 · 0 评论 -
HDU 1402 A * B Problem Plus(FFT)
Description 给出两个数A和B,求A*B Input 多组用例,每组用例为两个数字串分别表示A和B,串长不超过50000 Output 输出A*B Sample Input 1 2 1000 2 Sample Output 2 2000 Solution 直接高精度模拟乘法过程会爆,考虑到如果将一个数字串看做一个序列,那么乘法过程就相当于是两个序列的离散卷积,原创 2016-03-04 09:42:04 · 899 阅读 · 0 评论 -
POJ 2389 Bull Math(FFT)
Description 给出两个数A和B,求A*B Input 两个数字串,串长均不超过40 Output 输出两个串所表示数字的乘积 Sample Input 11111111111111 1111111111 Sample Output 12345679011110987654321 Solution 可以直接暴力模拟高精度乘法,也可以用FFT加速 Code#inclu原创 2016-03-04 09:44:35 · 1397 阅读 · 0 评论 -
HDU 4609 3-idiots(组合数学+FFT)
Description 给出n个木棍的长度ai,问从中任意选取三个木棍能组成一个三角形的概率 Input 第一行为一整数T表示用例组数,每组用例第一行为一整数n表示木棍数量,第二行n个整数ai表示每根木棍的长度(T<=100,3<=n<=10^5,1<=ai<=10^5) Output 对于每组用例,输出从n根木棍中随意选取三根木棍能组成三角形的概率 Sample Input 2 4原创 2016-03-04 10:01:38 · 1047 阅读 · 0 评论 -
HDU 5751 Eades(单调栈+FFT)
Description Peter有一个序列a[1],a[2],…,a[n],定义g(l,r)表示子序列{a[l],a[l+1],…,a[r]}的最大值, f(l,r)=sum{[a[i]==g(l,r)]}(l<=i<=r). 注意[condition]=1当且仅当condition是true, 否则[condition]=0 对于每个整数k∈{1,2,…,n}, Peter想要知道有多少整原创 2016-07-25 10:47:40 · 734 阅读 · 0 评论 -
HDU 5730 Shell Necklace(CDQ分治+FFT)
Description 给出长度分别为1~n的珠子,长度为i的珠子有a[i]种,每种珠子有无限个,问用这些珠子串成长度为n的链有多少种方案 Input 多组用例,每组用例首先输入一整数n表示链长,之后n个整数ai表示长度为i的珠子种类数,以n=0结束输入(n<=10^5,0<=ai<=10^7) Output 对每组用例,输出方案数,结果模313 Sample Input 3 1 3原创 2016-07-25 15:33:22 · 2407 阅读 · 2 评论 -
BZOJ 3527 力(FFT)
Description给出一个长度为nn的序列q0,...,n−1q_{0,...,n-1},定义Fj=∑i<jqiqj(i−j)2−∑i>jqiqj(i−j)2F_{j}=\sum\limits_{i<j}\frac{q_{i}q_{j}}{(i-j)^{2}}-\sum\limits_{i>j}\frac{q_{i}q_{j}}{(i-j)^{2}},求Ei=FiqiE_{i}=\frac{F_原创 2017-08-17 19:53:39 · 415 阅读 · 0 评论 -
BZOJ 2179 FFT快速傅立叶(FFT)
Description给出两个nn位1010进制整数xx和yy,你需要计算x∗yx*yInput第一行一个正整数nn。 第二行描述一个位数为nn的正整数xx。 第三行描述一个位数为nn的正整数yy。n≤60000n\leq 60000Output输出一行,即x∗yx*y的结果。Sample Input1 3 4Sample Output12SolutionFFT模版题Code#include<c原创 2017-08-27 11:04:22 · 425 阅读 · 0 评论 -
HDU 6088 Rikka with Rock-paper-scissors(莫比乌斯反演+组合数学+FFT)
Description两个人玩儿n局石头剪刀布,每局每个人出石头剪刀布的概率相同,玩nn局后假设第一个人赢aa局,第二个人赢bb局,那么得分就是gcd(a,b)gcd(a,b),设得分的期望为ss,求s×22ns\times 2^{2n},结果模modmodInput第一行一整数TT表示用例组数,每组用例输入两个整数nn和modmod表示游戏局数和模数(1≤T≤20,1≤n≤105,108≤mod≤原创 2017-09-05 22:32:50 · 895 阅读 · 0 评论 -
Newcoder 146 B.Filling pools(CDQ分治+生成函数+FFT)
Description对于一个n×nn\times nn×n的池塘,初始每个格子都没有水,每行和每列只能选取一个位置填满水,每个时刻对于一个没有水的位置,只要其上下左右四个位置中至少有两个有水,那么这个位置也会填满水,问有多少种选取方案可以使得整个水池最终填满水Input一个整数n(1≤n&lt;262144)n(1\le n&lt;262144)n(1≤n<26214...原创 2018-09-19 16:21:31 · 524 阅读 · 0 评论