![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FFT
Coco_T_
东南大学本科毕业生,浙江大学在读研究生
展开
-
bzoj3527 [Zjoi2014]力
Description给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei.Input 第一行一个整数n。 接下来n行每行输入一个数,第i行表示qi。 n≤100000,0 < qi < 1000000000Output n行,第i行输出Ei。与标准答案误差不超过1e-2即可。Sample Input 5 4006373.885184 15375036.435759原创 2017-08-24 20:02:56 · 219 阅读 · 0 评论 -
hdu5730 Shell Necklace(CDQ分治+FFT|多项式求逆)
题目链接题目描述:长为iii的项链有a[i]a[i]a[i]种装饰方法,问长度为nnn的项链有多少种装饰方式分析: 说实话我感觉这个题目描述有点模棱两可显然,用不同的方式分割这个序列,就会产生一定数量的装饰方法 一开始想dp方程有点懵了,实际上非常简单,我们枚举分割出来的一部分iii f[n]=∑i=0nf[n−i]∗a[i]f[n]=∑i=0nf[n−i]∗a[i]f[n]=\...原创 2018-03-23 11:19:35 · 380 阅读 · 0 评论 -
CodeChef Prime Distance On Tree(点分治+FFT)
题目链接题目描述:统计树上路径中有多少长度为素数的路径分析: 树上路径统计问题,考虑点分治 没有什么特别的性质,所以我们只能统计所有路径的长度 不过朴素算法统计路径需要n2n2n^2的复杂度,点分治还不如LCA好用nai。。。我们在点分治的时候,当前重心为rtrtrt,当前处理子树为xxx 我们dfs一遍子树x,那么子树x的所有路径就可以和已经处理过的子树中的所有路径依次组成新...原创 2018-03-22 21:39:26 · 258 阅读 · 0 评论 -
bzoj3160 万径人踪灭(FFT+manacher)
题目链接分析: 直接计算不连续回文子序列有点困难 我们可以先计算出回文子序列的数量,答案就是“回文子序列的数量-连续回文子序列的数量” 而连续回文子序列实际上就是回文子串,用manacher算法O(n)计算即可而回文子序列的数量就有一点难度了 设f[i]f[i]f[i]表示以iii为中心的对称字符对个数(字符串是manacher预处理后的字符串) 那么对于每个中心iii,我们有2...原创 2018-03-03 10:06:54 · 754 阅读 · 0 评论 -
bzoj4259 残缺的字符串(dp+FFT)
Description很久很久以前,在你刚刚学习字符串匹配的时候,有两个仅包含小写字母的字符串A和B,其中A串长度为m,B串长度为n。可当你现在再次碰到这两个串时,这两个串已经老化了,每个串都有不同程度的残缺。你想对这两个串重新进行匹配,其中A为模板串,那么现在问题来了,请回答,对于B的每一个位置i,从这个位置开始连续m个字符形成的子串是否可能与A串完全匹配?Input第一行包含两个正整数m...原创 2018-03-01 17:04:04 · 438 阅读 · 0 评论 -
bzoj4503 两个串(dp+FFT)
Description兔子们在玩两个串的游戏。给定两个字符串S和T,兔子们想知道T在S中出现了几次,分别在哪些位置出现。注意T中可能有“?”字符,这个字符可以匹配任何字符。 Input两行两个字符串,分别代表S和T Output第一行一个正整数k,表示T在S中出现了几次接下来k行正整数,分别代表T每次在S中出现的开始位置。按照从小到大的顺序输出,S下标从0开始。Sample Input...原创 2018-03-01 16:01:02 · 398 阅读 · 0 评论 -
bzoj4827 [Hnoi2017]礼物(FFT)
题目链接分析: 求∑ni=1(xi−yi)2∑i=1n(xi−yi)2\sum_{i=1}^{n}(x_i-y_i)^2假设我们旋转了jjj位,每一位上加ccc,则有式子∑ni=1(xi+j+c−yi)2∑i=1n(xi+j+c−yi)2\sum_{i=1}^{n}(x_{i+j}+c-y_i)^2=∑ni=1x2i+j+y2i+c2+2xi+jc−2yic−2xi+jyi=∑i...原创 2018-03-15 15:14:54 · 303 阅读 · 0 评论 -
浅谈生成函数+卷积+FFT
在写FFT的时候,经常会遇到和生成函数的结合 一开始不是能明白,结果突然有一天顿悟了 下面就xue微谈一下生成函数,卷积和FFT的关系吧生成函数我们经常用生成函数解决以下问题: 设hnhnh_n为方程:3∗e1+4∗e2+2∗e3+5∗e4=n3∗e1+4∗e2+2∗e3+5∗e4=n3*e_1+4*e_2+2*e_3+5*e_4=n的非负整数解得个数。 求h0,h1...原创 2018-03-01 10:31:52 · 1992 阅读 · 0 评论 -
bzoj3513 [MUTC2013]idiots(生成函数+FFT)
题目链接分析: 我们受到bzoj3771的启发 可以用生成函数计算边之和为n的方案数 设计生成函数A(x)A(x)A(x),如果有长度为n的木棍,xnxnx^n的系数就+1如何判断三边是否成三角形呢? 著名的三角不等式:两边之和大于第三边那就可以衍生出一种方法: 先算出选出两条边,长度和为n的方案数 那么第三条边一定小于n,累计长度小于n的边数,乘上xnxnx^n的系数即可...原创 2018-03-01 09:29:21 · 350 阅读 · 0 评论 -
bzoj3771 Triple(生成函数+容斥+FFT)
Description我们讲一个悲伤的故事。从前有一个贫穷的樵夫在河边砍柴。这时候河里出现了一个水神,夺过了他的斧头,说:“这把斧头,是不是你的?”樵夫一看:“是啊是啊!”水神把斧头扔在一边,又拿起一个东西问:“这把斧头,是不是你的?”樵夫看不清楚,但又怕真的是自己的斧头,只好又答:“是啊是啊!”水神又把手上的东西扔在一边,拿起第三个东西问:“这把斧头,是不是你的?”樵夫还是看...原创 2018-02-28 21:29:54 · 602 阅读 · 0 评论 -
bzoj2194 快速傅立叶之二
Description请计算C[k]=sigma(a[i]*b[i-k]) 其中 k < = i < n ,并且有 n < = 10 ^ 5。 a,b中的元素均为小于等于100的非负整数。 Input第一行一个整数N,接下来N行,第i+2..i+N-1行,每行两个数,依次表示a[i],b[i] (0 < = i < N)。Output输出N行,每行一个整数,第i行输出...原创 2018-02-28 18:55:31 · 210 阅读 · 0 评论 -
cv3123 高精度练习之超大整数乘法(FFT)
题目描述 Description给出两个正整数A和B,计算A*B的值。保证A和B的位数不超过100000位。输入描述 Input Description 读入两个用空格隔开的正整数输出描述 Output Description 输出A*B的值样例输入 Sample Input 4 9样例输出 Sample Output 36数据范围及提示 Data Size & Hint 两个正整数的位数原创 2017-08-24 10:12:04 · 585 阅读 · 0 评论 -
uoj34多项式乘法
这是一道模板题。 给你两个多项式,请输出乘起来后的多项式。输入格式 第一行两个整数 nn 和 mm,分别表示两个多项式的次数。 第二行 n+1n+1 个整数,分别表示第一个多项式的 00 到 nn 次项前的系数。 第三行 m+1m+1 个整数,分别表示第一个多项式的 00 到 mm 次项前的系数。输出格式 一行 n+m+1n+m+1 个整数,分别表示乘起来后的多项式的 00 到 n+mn+原创 2017-08-24 08:16:52 · 391 阅读 · 0 评论 -
FFT(模板)
优美对于a的交换,我们还有其他写法,xue微提一下哈:fn = 1;while (fn <= n + m) fn <<= 1, ++l;for (int i = 0; i < fn; ++i) r[i] = (r[i >> 1] >> 1) | ((i & 1) << (l - 1));#include...原创 2017-08-24 08:51:32 · 548 阅读 · 0 评论 -
FFT(不ji是干甚用的diao操作)
鸣谢yveh,yhzq yhzq的FFT讲解 yhzq的FFT应用又来了,板子轰炸。。。 快疯掉。。。FFTFFT,即为快速傅氏变换, 是离散傅氏变换的快速算法, 它是根据离散傅氏变换的奇、偶、虚、实等特性, 对离散傅立叶变换的算法进行改进获得的。设x(n)为N项的复数序列, 形如a0*x^0+a1*x+a2*a^2+…+an*x^n 由DFT变换,任一x(m)...原创 2017-08-23 20:27:03 · 487 阅读 · 0 评论 -
bzoj3451 Tyvj1953 Normal(概率期望+点分治+FFT)
Description某天WJMZBMR学习了一个神奇的算法:树的点分治! 这个算法的核心是这样的: 消耗时间=0 Solve(树 a) 消耗时间 += a 的 大小 如果 a 中 只有 1 个点 退出 否则在a中选一个点x,在a中删除点x 那么a变成了几个小一点的树,对每个小树递归调用Solve 我们注意到...原创 2018-03-23 15:25:53 · 339 阅读 · 0 评论