
FFT
文章平均质量分 87
QAQ
hipamp
这个作者很懒,什么都没留下…
展开
-
2021牛客多校10 Game of Death(容斥ntt)
题意有 nnn 个人,每个人会等概率随机向另外一个人开枪,有 ppp 的概率击中。问恰好有 k(k=0,1,2,..,n)k(k=0,1,2,..,n)k(k=0,1,2,..,n) 个人活着的概率,对 998244353998244353998244353 取模。其中,n≤3×105n\le 3\times10^5n≤3×105。分析设 fif_ifi 为特定 iii 个人活着,其它人不管死活的概率。那么根据容斥原理,ansk=Cnk∑i=kn(−1)i−kCn−k,i−kfi=Cnk(n−k原创 2021-08-18 14:08:41 · 297 阅读 · 1 评论 -
icpc2017西安 D Islands(树链剖分+分治ntt)
题意给一棵 nnn 个点的树,每条边可以断开,也可以不断开,求和 111 所在的连通块大小为 kkk 的方案数,k=1,2,3,...,nk=1,2,3,...,nk=1,2,3,...,n。答案对 181193932918119393291811939329 取模。n≤105n\le 10^5n≤105。分析令 Fu[xn]F_u[x^n]Fu[xn] 表示 uuu 向 faufa_ufau 贡献连通块大小为 nnn 的方案数。因此有 Fu=x∏(u,v)FvF_u=x\prod\limit原创 2021-05-19 23:32:15 · 299 阅读 · 0 评论 -
[LOJ 6285] 花朵(树链剖分+分治ntt)
题意给出一棵 nnn 个点的树,每个点有点权 viv_ivi,选出 mmm 个不相邻的点,代价为这 mmm 个点的权值之积。求所有合法方案的代价和,对 998244353998244353998244353 取模。n,m≤8×104,vi<998244353n,m\le 8\times 10^4,v_i <998244353n,m≤8×104,vi<998244353。分析令 dp0,u,jdp_{0,u,j}dp0,u,j 表示来到节点 uuu,不选节点 uuu,总共选了原创 2021-05-19 22:49:48 · 372 阅读 · 0 评论 -
CF1516E Baby Ehab Plays with Permutations(牛逼计数)
题意给定 n,Kn,Kn,K,每次可以交换两个数,问长度为 nnn 的有序排列经过 kkk 次交换后能生成多少排列,答案对 1e9+71e9+71e9+7 取模。n≤109,K≤200n\le 10^9, K\le 200n≤109,K≤200分析普通做法设 dpn,kdp_{n,k}dpn,k 表示长度为 nnn 的排列必须经过 kkk 次交换才能生成的排列数(也就是小于 kkk 次生成不了这个排列),那么 ansk=dpn,k+dpn,k−2+dpn,k−4...+dpn,k%2ans_k=原创 2021-04-25 18:00:57 · 364 阅读 · 4 评论 -
NTT学习笔记
前言NTTNTTNTT 其实和 FFTFFTFFT 差不多,只不过 NTTNTTNTT 可以在某些模意义下进行运算。学习 NTTNTTNTT 之前,你得先了解了解 原根关于模数NTTNTTNTT 模数是 p=qn+1p=qn+1p=qn+1(满足 ppp 是个质数),其中 n=2kn=2^kn=2k。为什么呢?这样,当长度为 2l(l<k)2^l(l<k)2l(l<k) 时,存在一个单位根 gp−12lg^{\frac{p-1}{2^l}}g2lp−1,使其满足与 nnn 次原创 2020-06-17 16:53:35 · 587 阅读 · 0 评论 -
FFT(快速傅里叶变换)学习笔记
简介FFTFFTFFT (法法塔)是个什么玩意?他的全名叫快速傅里叶变换(然而貌似和傅里叶并没有太大关系),用来快速求出多项式的点值表示,这个东西一般用来解决多项式相乘的问题。一般的高精度乘法,我们有个 O(n2)O(n^2)O(n2) 的普及组做法,然而这个做法远远不能满足现代小学生的需求(传言小学生都会FFT)。于是我们要学习更优复杂度的做法,那就是复杂度为 O(nlogn)O(nlogn...原创 2020-03-03 21:40:18 · 1933 阅读 · 0 评论