FFT
WildKid1024
骐骥一跃,不能十步。驽马十驾,功在不舍!
展开
-
HDU 1402——A * B Problem Plus
题意:给定a,b,求a*b。思路:a,b的长度都为50000,直接模拟计算n*m肯定超时,可以用快速傅里叶变化计算,然后再把相应的系数化简出来。code:#include <iostream>#include <cstdio>#include <cstring>#include <cmath>using namespace std;const double PI=acos(-1.0);st原创 2016-08-09 15:20:07 · 921 阅读 · 0 评论 -
HDU 4609——3-idiots
题意:给定n个数,随机从这n个数中取3个数,问能组成三角形的概率是多少?思路:首先把统计这n个数出现的个数,那么会得到一个向量,这个向量的自我的乘积就是a[i]+a[j]的可能的方案数,这样,我么就很方便求出了两条边的和的方案数。但是在加的过程中,我么多加了a[i]+a[i]的情况,也就是自己跟自己相加的情况,所以我们要减去这一段。而且,在加的过程a[i]+a[j]和a[j]+a[i]是同一种情况,原创 2016-08-09 16:33:39 · 292 阅读 · 0 评论 -
HDU 5730——Shell Necklace
题意:一段长为i的项链有a[i]中装饰方法,问长度为n的项链有多少种装饰方式。思路:容易推出,dp[i]=∑dp[j]*a[i-j],(1<=j<=i-1)那么这样就刚好符合卷积的运算,这样就可以愉快地使用fft了,不过数量级在1e5,所以应该采用分治来处理,算法复杂度nlognlogn。code:#include <iostream>#include <cstdio>#include <cst原创 2016-08-10 21:14:25 · 1151 阅读 · 0 评论 -
经典算法研究系列:十、从头到尾彻底理解傅里叶变换算法、上
经典算法研究系列:十、从头到尾彻底理解傅里叶变换算法、上作者:July、dznlong 二零一一年二月二十日推荐阅读:The Scientist and Engineer's Guide to Digital Signal Processing,By Steven W. Smith, Ph.D。此书地址:http://www.dspguide.com/pdfbook.htm转载 2016-08-11 10:31:27 · 6161 阅读 · 0 评论 -
经典算法研究系列:十、从头到尾彻底理解傅里叶变换算法、下
经典算法研究系列:十、从头到尾彻底理解傅里叶变换算法、下作者:July、dznlong 二零一一年二月二十二日推荐阅读:The Scientist and Engineer's Guide to Digital Signal Processing,By Steven W. Smith, Ph.D。此书地址:http://www.dspguide.com/pdfbook.ht转载 2016-08-11 10:32:42 · 2149 阅读 · 0 评论 -
UVA 12298——Super Poker II
题意:给定一些扑克牌,问这些扑克牌选四色能组成n的方案数,其中遗失了c张牌,这c张不能用,问n从a到b的方案数。思路:分析每一种花色,那么每种花色组成的方案数即为x^1+x^2+x^3+x^5(改花色的牌只有1,2,3,5这四张的时候),那么对比于其他的花色,也是一样,四个花色的方案数相乘,即为所得值,那么很容易来使用FFT,注意可能会超精度,复数要用long double。code:#includ原创 2016-08-11 16:45:30 · 829 阅读 · 0 评论