快速傅里叶变换
文章平均质量分 67
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 2179 FFT快速傅立叶 快速傅里叶变换
题目大意:给定两个高精度整数,求两个数的乘积FFT大法好系统的complex比手写慢了2.5倍 简直吓死人- -#include #include #include #include #include #define M 131080#define PI 3.1415926535897932384626433832795028841971using namespace s原创 2014-12-25 13:35:13 · 1858 阅读 · 0 评论 -
一些常见数列的生成函数推导
曾经有人问过我:“斐波那契数列的生成函数长啥样?” 。。。所以这东西我还是写一发吧 它有什么用?它没啥用。。。1.齐次线性递推数列定义:给定常数k,a1,a2,...,ak,h0,h1,...,hk−1k,a_1,a_2,...,a_k,h_0,h_1,...,h_{k-1},构造如下数列: hn={hna1hn−1+a2hn−2+...+akhn−kn<kn≥kh_n= \begin{c原创 2016-11-14 23:07:07 · 10837 阅读 · 1 评论 -
如何判断一个n次多项式是否对称?
题目大意:给出一个nn次多项式anxn+an−1xn−1+...+a0 (an≠0)a_nx^n+a_{n-1}x^{n-1}+...+a_0\ (a_n\neq 0),判断这个多项式的函数图像是否轴对称/中心对称 n≤105n\leq 10^5定理:nn次多项式(n≥2)(n\geq2)如果轴对称/中心对称,其对称轴/对称中心的横坐标必为−an−1n∗an-\frac{a_{n-1}}{n*a_原创 2016-10-26 16:57:44 · 3705 阅读 · 0 评论 -
codeforces #568B Symmetric and Transitive 快速傅里叶变换
题目大意:给定nn,求有多少组大小为nn的集合上的二元关系,使其满足对称性、传递性,但不满足自反性一组二元关系满足条件等价于存在一个点使其不在任何一个二元关系中考虑将点划分成一些集合,那么大小为11的集合有两种(有自环和没自环),大小为i(i>1)i(i>1)的集合有一种(完全图,且每个点上都有自环) 构造指数级生成函数C(x)=2∗x1!+x22!+x33!+...=ex+x−1C(x)=2*\原创 2015-10-12 16:05:25 · 2225 阅读 · 2 评论 -
BZOJ 3684 大朋友和多叉树 FFT+拉格朗日反演
题目大意:给定nn和集合SS,求满足下列要求的多叉树的个数: 1.每个非叶节点的子节点数量在集合SS中 2.每个叶节点的权值为11,每个非叶节点的权值为子节点权值之和 3.根节点的权值为nn 注意每个节点的子节点有顺序令fif_i表示根节点权值为ii的神犇二叉树个数,F(x)F(x)为fif_i的生成函数,C(x)C(x)为SS的生成函数,那么有: F(x)=∑i∈SFi(x)+xF(x)原创 2015-06-04 20:05:37 · 3651 阅读 · 0 评论 -
BZOJ 3456 城市规划 快速傅里叶变换
题目大意:求nn个点的无向简单连通图个数,n≤1.3∗105n\leq1.3*10^5 递推式:fi=2C2i−∑i−1j=1fj∗Cj−1i−1∗2C2i−jf_i=2^{C_i^2}-\sum_{j=1}^{i-1}f_j*C_{i-1}^{j-1}*2^{C_{i-j}^2} 推导戳这里 然后两侧同除(i−1)!(i-1)!得到: fi(i−1)!=2C2i(i−1)!−∑i−1j=1原创 2015-05-27 17:08:39 · 5683 阅读 · 0 评论 -
BZOJ 3527 ZJOI2014 力 快速傅里叶变换
题目大意:给定n个点,第i个点和第j个点之间的库仑力为(qi*qj)/(i-j)^2,定义左侧为正方向,求每个点受的合力与电荷量的比值题解详见 http://eolv.farbox.com/post/shui-yu-zheng-feng/2014-12-07 我懒得打了- -#include #include #include #include #include #define原创 2014-12-25 16:43:08 · 1829 阅读 · 0 评论 -
codeforces #250E The Child and Binary Tree 快速傅里叶变换
题目大意:给定一个集合SS,对于i=1...mi=1...m求有多少二叉树满足每个节点的权值都在集合SS中且权值和为ii 构造答案多项式F(x)F(x)和集合SS的生成函数C(x)C(x),那么 根节点的左子树是一棵二叉树,右子树是一棵二叉树,本身的权值必须在集合S中,此外还有空树的情况 故有F(x)=F2(x)C(x)+1F(x)=F^2(x)C(x)+1 解得F(x)=1±1−4C(x)原创 2015-04-28 20:35:44 · 1860 阅读 · 2 评论 -
Nescafe41 ProblemA 异化多肽 多项式求逆
题目大意:、 思路: 搞出CC的生成函数F(x)F(x),那么: 长度为11的答案为F(x)F(x) 长度为22的答案为F2(x)F^2(x) … 故最终的答案为 F(x)+F2(x)+F3(x)+...F(x)+F^2(x)+F^3(x)+... =1−F+∞(x)1−F(x)\frac{1-F^{+∞}(x)}{1-F(x)} =11−F(x)\frac1{1-F(x)}原创 2015-04-28 14:09:03 · 1834 阅读 · 0 评论 -
BZOJ 3992 Sdoi2015 序列统计 快速数论变换
题目大意:给定n(n求原根,对S集合内每个元素取指标,然后搞出生成函数f(x)那么答案就是(f(x))^n (mod 1004535809)上NTT用多项式快速幂搞一搞就好了#include #include #include #include #define M 16400#define MOD 1004535809#define INF 0x3f3f3f3f#原创 2015-04-15 20:50:01 · 3664 阅读 · 0 评论 -
BZOJ 3771 Triple 母函数+FFT
题目大意:给定n个物品,可以用一个/两个/三个不同的物品凑出不同的价值,求每种价值有多少种拼凑方案(顺序不同算一种)首先搞出这n个物品的母函数a将a的每项的平方求和得到多项式b将a的每项的立方求和得到多项式c那么如果不考虑顺序和重复 那么方案数就是a+b+c现在考虑顺序和重复后三个物品的方案数为(a^3-3*a*b+2*c)/6两个物品的方案数为(a^2-b)/2一原创 2015-02-04 10:31:39 · 2239 阅读 · 0 评论 -
BZOJ 3160 万径人踪灭 Manacher算法+快速傅里叶变换
题目大意:给定一个由'a'和'b'构成的字符串,求不连续回文子序列的个数首先回文一定是将字符串倍增 由于求的是不连续回文子序列的个数 因此我们可以求出总回文子序列的个数,然后减掉连续的连续的就是回文子串 用Manacher算法可以O(n)求解不连续的就有些难搞了首先我们令f[i]表示以i为中心的对称字符对个数比如s[]=$#a#b#a 那么s[4]='b' f[4]=2那么原创 2014-12-27 15:20:25 · 5932 阅读 · 3 评论 -
BZOJ 2194 快速傅立叶之二 快速傅里叶变换
题目大意:给定两个长度为n的序列a和b,求c[k]=Σa[i]*b[i-k]这东西不是卷积的形式,因此我们将b数组反转,之后就是卷积的形式了然后就愉♂悦地上FFT吧#include #include #include #include #include #define M 263000#define PI 3.14159265358979323846264338327950原创 2014-12-25 15:10:30 · 2278 阅读 · 0 评论 -
UOJ#50 【UR#3C】链式反应 FFT求解多项式线性常微分方程
题目大意:给定nn和集合CC,对于i=1..ni=1..n求多少ii个节点有标号的多叉树满足: 1.父亲节点的标号大于子节点 2.一个点如果有儿子,则有两个无序的α\alpha型儿子,有cc个无序的β\beta型儿子,其中c∈Cc\in C 3.如果一个点是根节点或α\alpha型儿子,那么它可以有儿子或者是一个叶节点;如果一个点是β\beta型儿子,那么它只能是一个叶节点由于有标号,所以这里原创 2016-11-15 16:24:12 · 2669 阅读 · 2 评论