FFT
hqwhqwhq
有梦想就不累
展开
-
CC Arithmetic Progressions (FFT + 分块处理)
学习的cxlove大神的博客:传送门关键点:枚举中间的数,如果其他两个数不在当前块中,那么前面的所有的块和后面所有的块做卷积,得到前面序列和后面序列相乘的情况。如果有这两个数有数在当前块,那么枚举前一个数在当前块,后一个数不在当前块,枚举后一个数在当前块,前一个数在当前块或者不在当前块,都可以。分块的关键:是复杂度降到o(k∗(Nk∗Nk+M∗logM)o(k*({N\over{k}}*{N\ove原创 2015-11-15 23:40:25 · 490 阅读 · 0 评论 -
HDU 4609 3-idiots(FFT学习)
附上kuangbin大神博客:讲解的非常清楚分析:暴力枚举aka_k,那么问题变成了找满足ai+aj>ak(i,j,k互不相等)a_i+a_j>a_k(i,j,k互不相等)的(ai,aj)(a_i,a_j)的对数。FFT求出所有可能的和的对数,然后去掉坐标相同的就可以了。PS:目前就写了两道FFT,基本上都是卷积的应用,FFT神奇的地就是能在nlognnlogn的时间内算出所有的X(k)=∑a[i]原创 2015-11-15 23:54:28 · 489 阅读 · 0 评论 -
HDU 1402 A * B Problem Plus (FFT求高精度乘法)
存一波代码:题目比较简单。#include <bits/stdc++.h> #define LL long long #define FOR(i,x,y) for(int i = x;i < y;++ i) #define IFOR(i,x,y) for(int i = x;i > y;-- i)using namespace std;//FFT copy from kuangbin const原创 2015-11-17 21:12:05 · 636 阅读 · 0 评论