建议搭配NTT板子食用~
并且注意,函数结束后有可能需要清空[toap,2*toap)的值,不清空可能会爆
void GetInv(int a[],int ni[],int toap)
{
int i,now;
ni[0]=ksm(a[0],MOD-2);
for(now=2;now<=toap;now<<=1){
fill(ni+(now>>1),ni+(now<<1),0);
copy(a,a+now,it);
fill(it+now,it+(now<<1),0);
NTT(ni,now<<1,1);
NTT(it,now<<1,1);
for(i=0;i<(now<<1);i++)
ni[i]=ch(ni[i],sub(2,ch(it[i],ni[i])));
NTT(ni,now<<1,-1);
}
}