数学 ------ 快速傅里叶变换
文章平均质量分 86
orz11111111
这个作者很懒,什么都没留下…
展开
-
HDU 4609 3-idiots 计数+FFT
题意:n个数的序列a 问从中选出三个数构成三角形的概率? n,a[i] 暴力O(n^3)的做法肯定是TLE的. 排序后,我们枚举最后一个选的数为下标i,则前两个数下标j,ka[k]) 有多少对这样的数? 先求有多少对数的和为a[i],利用前缀和就能求出大于a[i]个数. 令 c[k]^x^k表示数k的个数有c[k]个.我们可以列出两个相同的生成函数,其乘积第k项的系数也就是和为k的方法数原创 2017-09-15 10:22:44 · 222 阅读 · 0 评论 -
HihoCoder 1388 Periodic Signal 循环卷积(FFT)
题意:给出n个数的序列a,b ,n 拆来后得: tot - 2*max( a[i]*b[(i+k)%n] i=0~n-1 )k=0,..n-1) 先写成矩阵形式后,也就是要求这n个乘积累加和中的最大值. 循环卷积的构造方式:点击打开链接 构造两个多项式,a[0]+a[1]*x+a[2]*x^2+..a[n-1]*x^(n-1). b[n-1]+b[n-2]*x+.....b[0]*x^(原创 2017-09-15 20:03:33 · 854 阅读 · 0 评论 -
HDU 5307 He is Flying 构造多项式+FFT
题意:n个点 每个点价值为v[i],区间[l,r]的长度为r-l+1 区间价值为该区间内所有v[i]之和. n 答案:res[s[i]-s[j-1]]+=i-j+1 s[i]为前缀和i .O(n^2) TLE... 参考 S肯定也要指数,系数要体现和为S的区间的长度,则用两个前缀相减来表示 构造多项式:(∑ixsi)(∑x−si−1)−(∑xsi)(∑(i−1)x−si−1原创 2017-09-17 10:22:24 · 224 阅读 · 0 评论