Description
给出n个数qi,给出Fj的定义如下:
令Ei=Fi/qi,求Ei.
Solution
设fi=qi gi=1/i/i(这里如果写成i*i可能会爆int)
那前半部分就是∑fi*gj-i 发现是一个卷积的形式
后半部分把数组反一下同理
#include#include #include #include #include #define MAXN 100005#define pi acos(-1)using namespace std;int n;struct cp{ double r,i; cp(double r=0,double i=0):r(r),i(i){} cp operator + (const cp& x) { return cp(r+x.r,i+x.i);} cp operator - (const cp& x) { return cp(r-x.r,i-x.i);} cp operator * (const cp& x) { return cp(r*x.r-i*x.i,r*x.i+i*x.r);}}a[MAXN*4],b[MAXN*4],c[MAXN*4];void brc(cp* x,int l){ int k=l/2; for(int i=1;i =j) { k-=j; j>>=1; } if(k