BZOJ3527: [Zjoi2014]力
2017-04-27 09:49
176 查看
BZOJ3527
先把qi放到里面去,Ei=∑i−1j=0a[j](i−j)2+∑nj=i+1a[j](i−j)2
令b[i]=1i2
Ei=∑i−1j=0a[j]∗b[i−j]+∑nj=i+1a[j]∗b[j−i]
前一半很明显是个卷积嘛,不应该还有个a[i]∗b[0]吗?b[0]=0不就好了..
后一半不是很像BZOJ2194嘛..哪里是很像。。根本没区别啊。。所以把a或者b倒过来就好了嘛。
先把qi放到里面去,Ei=∑i−1j=0a[j](i−j)2+∑nj=i+1a[j](i−j)2
令b[i]=1i2
Ei=∑i−1j=0a[j]∗b[i−j]+∑nj=i+1a[j]∗b[j−i]
前一半很明显是个卷积嘛,不应该还有个a[i]∗b[0]吗?b[0]=0不就好了..
后一半不是很像BZOJ2194嘛..哪里是很像。。根本没区别啊。。所以把a或者b倒过来就好了嘛。
【代码】
#include <cstdio> #include <iostream> #include <cstdlib> #include <cstring> #include <complex> #include <algorithm> #include <cmath> #define N 262145 #define INF 0x7fffffff using namespace std; typedef complex<double> C; const double pi=acos(-1); int read() { int x=0,f=1;char ch=getchar(); while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();} while(isdigit(ch)){x=x*10+ch-'0';ch=getchar();} return x*f; } int n,m; C a ,b ,q ,p ; double Sqr(int x){ return (double)x*x; } void FFT(C *a,int n,int f) { if(n==1) return; C wn(cos(2*pi/n),sin(2*pi*f/n)),w(1,0),t; C a0[n>>1],a1[n>>1]; for(int i=0;i<n>>1;i++) a0[i]=a[i<<1],a1[i]=a[i<<1|1]; FFT(a0,n>>1,f),FFT(a1,n>>1,f); for(int i=0;i<n>>1;i++,w*=wn) { t=w*a1[i]; a[i]=a0[i]+t; a[i+(n>>1)]=a0[i]-t; } } int main() { n=m=read()-1; for(int i=0;i<=n;i++) { scanf("%lf",&q[i]); if(i!=0) p[i]=1.0/Sqr(i); } for(int i=0;i<=n;i++) a[i]=q[i],b[i]=p[n-i]; m+=n; for(n=1;n<=m;n<<=1); FFT(q,n,1);FFT(p,n,1); for(int i=0;i<=n;i++) q[i]*=p[i]; FFT(q,n,-1); FFT(a,n,1);FFT(b,n,1); for(int i=0;i<=n;i++) a[i]*=b[i]; FFT(a,n,-1); for(int i=0;i<=m>>1;i++) printf("%.3lf\n",(q[i].real()/n)-(a[(m>>1)+i].real()/n)); return 0; }
相关文章推荐
- 【FFT】BZOJ3527(Zjoi2014)[力]题解
- BZOJ3527: [Zjoi2014]力
- bzoj3527 [Zjoi2014]力
- [题解]bzoj3527(ZJOI2014)力
- Bzoj3527 [Zjoi2014]力
- bzoj3527: [Zjoi2014]力
- bzoj3527: [Zjoi2014]力
- BZOJ3527: [Zjoi2014]力
- BZOJ3527: [Zjoi2014]力
- bzoj3527 [Zjoi2014]力
- BZOJ3527 [Zjoi2014]力
- BZOJ3527 [Zjoi2014]力 【fft】
- BZOJ3527 [Zjoi2014]力
- bzoj3527: [Zjoi2014]力
- BZOJ3527: [Zjoi2014]力
- bzoj3527: [Zjoi2014]力
- bzoj千题计划167:bzoj3527: [Zjoi2014]力
- bzoj3527:[Zjoi2014]力-FFT
- bzoj3527 [Zjoi2014]力
- BZOJ3527:[ZJOI2014]力——题解