首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
FTT & NTT & 分治FFT
】的更多相关文章
FTT & NTT & 分治FFT
FFT study from: http://www.orchidany.cf/2019/02/19/FFT1/ https://www.cnblogs.com/zwfymqz/p/8244902.html e^iθ=cosθ+isinθ 重新写了一遍…… A(x)=F(x)*G(x) F(x),G(x),A(x)分别为n,m,n+m次多项式 对于任意x,A(x),F(x),G(x)都是一个特定的数值. F(x),G(x)为什么可以进行系数表示法和点值表示法的互换? 因为它们是k次多项式,如使用…
洛谷.4721.[模板]分治FFT(NTT)
题目链接 换一下形式:\[f_i=\sum_{j=0}^{i-1}f_jg_{i-j}\] 然后就是分治FFT模板了\[f_{i,i\in[mid+1,r]}=\sum_{j=l}^{mid}f_jg_{i-j}+\sum_{j=mid+1}^rf_jg_{i-j}\] 复杂度\(O(n\log^2n)\). 分治思路见:https://www.cnblogs.com/SovietPower/p/9366763.html 多项式求逆做法先坑着. //693ms 4.91MB #include <…
luoguP4721 【模板】分治 FFT (分治NTT)
给定 $g[1....n-1]$,求 $f[0],f[1],...,f[n-1]$,其中 $f[i]=\sum_{j=1}^{i}f[i-j]g[j]$ 变界为 $f[0]=1$ 答案模 998244353 分治 $FFT$:类似 $CDQ$ 分治,先处理左边,再处理左对右的贡献 假设当前的区间为 $[l,r]$,已经处理完 $[l,mid]$ 的所有 $f$ 值,考虑左面对右面的贡献 右面所有 $f$ 的下标为 $[mid+1,r]$ 那么 $f[l,mid]*g[1…
再探快速傅里叶变换(FFT)学习笔记(其三)(循环卷积的Bluestein算法+分治FFT+FFT的优化+任意模数NTT)
再探快速傅里叶变换(FFT)学习笔记(其三)(循环卷积的Bluestein算法+分治FFT+FFT的优化+任意模数NTT) 目录 再探快速傅里叶变换(FFT)学习笔记(其三)(循环卷积的Bluestein算法+分治FFT+FFT的优化+任意模数NTT) 写在前面 一些约定 循环卷积 DFT卷积的本质 Bluestein's Algorithm 例题 分治FFT 例题 FFT的弱常数优化 复杂算式中减少FFT次数 例题 利用循环卷积 小范围暴力 例题 快速幂乘法次数的优化 FFT的强常数优化 DF…
BNUOJ 51279[组队活动 Large](cdq分治+FFT)
传送门 大意:ACM校队一共有n名队员,从1到n标号,现在n名队员要组成若干支队伍,每支队伍至多有m名队员,求一共有多少种不同的组队方案.两个组队方案被视为不同的,当且仅当存在至少一名队员在两种方案中有不同的队友. 这年头真是--分治FFT都开始烂大街了-- 我们来推一推吧 这显然是一个1d1d的DP,用f[i]表示i名队员的方案数 f[i]=∑j=0i−1f[i−j−1]∗Cji−1 即i−1个人里面选j个和i组队(似乎类似strling数) 然后化一下简,便可得到 f[i]=(i−1)!∑j…
【XSY2666】排列问题 DP 容斥原理 分治FFT
题目大意 有\(n\)种颜色的球,第\(i\)种有\(a_i\)个.设\(m=\sum a_i\).你要把这\(m\)个小球排成一排.有\(q\)个询问,每次给你一个\(x\),问你有多少种方案使得相邻的小球同色的对数为\(x\). \(n\leq 10000,m\leq 200000\) 题解 我们考虑把这些小球分段,每段内所有小球颜色相同,但相邻两段的小球颜色可以相同. 设第\(i\)种颜色有\(b_i\)段,那么分\(j\)段的方案数是\(\frac{(\sum b_i)!}{\sum(b…
【XSY2887】【GDOI2018】小学生图论题 分治FFT 多项式exp
题目描述 在一个 \(n\) 个点的有向图中,编号从 \(1\) 到 \(n\),任意两个点之间都有且仅有一条有向边.现在已知一些单向的简单路径(路径上任意两点各不相同),例如 \(2\to 4\to 1\).且已知的这些简单路径之间没有公共的顶点,其 余的边的方向等概率随机. 你需要求出强连通分量(如果同时存在 \(a\) 到 \(b\), \(b\) 到 \(a\) 的有向路径,则 \(a\), \(b\) 属于同一个强联通分量) 的期望个数.如果最后答案是 \(\frac{A}{B}\),…
【XSY2744】信仰圣光 分治FFT 多项式exp 容斥原理
题目描述 有一个\(n\)个元素的置换,你要选择\(k\)个元素,问有多少种方案满足:对于每个轮换,你都选择了其中的一个元素. 对\(998244353\)取模. \(k\leq n\leq 152501\) 题解 吐槽 为什么一道FFT题要把\(n\)设为\(150000\)? 解法一 先把轮换拆出来. 直接DP. 设\(f_{i,j}\)为前\(i\)个轮换选择了\(j\)个元素,且每个轮换都选择了至少一个元素的方案数. \[ f_{i,j}=\sum_{k=1}^{a_i}f_{i-1,j…
【BZOJ5119】【CTT2017】生成树计数 DP 分治FFT 斯特林数
CTT=清华集训 题目大意 有\(n\)个点,点权为\(a_i\),你要连接一条边,使该图变成一颗树. 对于一种连边方案\(T\),设第\(i\)个点的度数为\(d_i\),那么这棵树的价值为: \[ val(T)=(\prod_{i=1}^na_i^{d_i}d_i^m)(\sum_{i=1}^nd_i^m) \] 求所有生成树的价值和\(\bmod 998244353\) \(n\leq 30000,m\leq 30\) 题解 很容易想到prufer序列 先把式子化简: \[ \begin{…
【XSY2166】Hope 分治 FFT
题目描述 对于一个\(1\)到\(n\)的排列\(a_1,a_2,a_3,\ldots,a_n\),我们定义这个排列的\(P\)值和\(Q\)值: 对于每个\(a_i\),如果存在一个最小的\(j\)使得\(i<j\)且\(a_i<a_j\),那么将\(a_i\)和\(a_j\)连一条无向边.于是就得到一幅图.计算这幅图每个联通块的大小,将它们相乘,得到\(P\).记\(Q=P^k\). 对于\(1\)到\(n\)的所有排列,我们想知道它们的\(Q\)值之和.由于答案可能很大,请将答案对\(9…