FFT
文章平均质量分 73
thy_asdf
我也不知道说什么...
展开
-
bzoj2179: FFT快速傅立叶
一句话题意:给出两个n位10进制整数x和y,你需要计算x*y。n 思路:FFT就是神奇的公式多。。。感觉还没有完全理解#include #include #include #include #define ll long long const int maxn=200010; const double pi=M_PI; using namespace std; struct plex{ dou原创 2015-07-15 17:44:51 · 855 阅读 · 0 评论 -
bzoj2194: 快速傅立叶之二
题目又是一句话:请计算C[k]=sigma(a[i]*b[i-k]) 。 其中 k 思路:先把b倒着读,然后下标的和就确定了,然后就上FFT开搞了。 #include #include #include #include #include const double pi=M_PI; const int maxn=270010; using namespace std; struct原创 2015-07-16 11:02:48 · 833 阅读 · 0 评论 -
bzoj3527: [Zjoi2014]力
一句话:给出n个数qi,给出Fj的定义如下: 令Ei=Fi/qi,求Ei. 思路:先把q[i]约了,然后就是: Ei=∑jiqj(j−i)2−∑j>iqj(j−i)2 先看左边: 令f[i]=q[i],g[i]=1/i/i 左边就是sigma f[j]*g[i-j] 然后下标和就为定值了,就是卷积了,上FFT搞一搞 右边把q反过来再上FFT搞原创 2015-07-16 17:07:56 · 528 阅读 · 0 评论 -
Spoj 8372 Triple Sums
传送门:http://www.spoj.com/problems/TSUM/ 思路:先不管i 构造一个多项式A(x)=sigma x^a[i] 那么S=a[i]+a[j]+a[k]的个数就是x^(a[i]+a[j]+a[k]=S)的个数 为了让指数相加,我们把A(x)进行立方 那么个数就是A(x)^3中S次项的系数 然后进行容斥,为了方便,以下省去指数a[i] A(x)^3=原创 2015-07-22 18:08:13 · 613 阅读 · 0 评论 -
bzoj 4178: A
传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=4178 比较裸的NTT NTT讲的比较好的博客 http://blog.csdn.net/acdreamers/article/details/39026505 #include #include #include #include const int maxn=33000; c原创 2015-07-24 12:04:47 · 690 阅读 · 0 评论 -
bzoj3992: [SDOI2015]序列统计
传送门:http://www.lydsy.com:808/JudgeOnline/problem.php?id=3992 思路:M是一个质数,问题又是求乘积,于是我们就可以想到利用M的原根g把问题变成求和(我怎么想不到啊。。。) 根据原根的性质,我们可以把1到M-1中的数i表示为(g^b[i])%M,且指数互不相同 那么X就可以表示成(g^b[x])%M 问题就转化为:然后问题转化成了在序原创 2015-07-25 09:23:39 · 1899 阅读 · 2 评论 -
bzoj3160: 万径人踪灭
题面传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=3160 思路:首先题目中不要连续的回文串,那么答案就是总的回文串-连续回文串 连续回文串用manacher就可以O(n)搞出来 现在的问题是求总的回文串。 既然是回文串,我们就想到枚举对称轴 为了方便表示在字符的夹缝的对称轴,下标*2,下标为奇数则为夹缝。 令f[i原创 2015-07-21 08:17:51 · 650 阅读 · 0 评论 -
bzoj4259: 残缺的字符串
传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4259 思路:FFT是一种高效的字符串匹配算法 只要想到FFT就好办了 令为‘*’的位置值为0 那么两个字符串匹配当且仅当 Σ(a[i]-b[i])^2*a[i]*b[i]=0 式子的含义很好理解,前面就是字符相同,后面就是该位是否为通配符 为了FFT能做,我们要把A串反过来才有原创 2016-07-01 11:56:04 · 658 阅读 · 0 评论