多项式乘法逆
给定一个多项式 ,请求出一个多项式 , 满足 。系数对 取模。
牛顿迭代法 已知一个复合多项式 ,假设
泰勒公式在展开,
将套进去
cpp
poly inv(poly &f,int n){
if(n==1)return {qpow(f[0],P-2)};
auto g=inv(f,n+1>>1);
static vector<int> c;
init(2*n+1);
c.resize(tot);
g.resize(tot);
for(int i=0;i<n;i++)c[i]=f[i];
for(int i=n;i<tot;i++)c[i]=0;
ntt(c,1),ntt(g,1);
for(int i=0;i<tot;i++)g[i]=g[i]*(2-c[i]*g[i]%P+P)%P;
ntt(g,-1);
for(int i=n;i<tot;i++)g[i]=0;
return g;
}
void solve(){
int n;
cin>>n;
poly f(n+1);
for(int i=0;i<n;i++)cin>>f[i];
auto g=inv(f,n);
for(int i=0;i<n;i++)cout<<g[i]<<" ";
}