[整理]多项式板子
闲得没事整理了一下,应该没什么大问题。
namespace Poly {
il int Pow(int a,int b=p-2){
int res=1;
for(;b;a=(LL)a*a%p,b>>=1)if(b&1)res=(LL)res*a%p;
return res;
}
int len,w[N];
il void Init(int n){
len=1;while(len<=n)len<<=1;
for(int i=2;i<=len;i<<=1){
int wn=Pow(g,(p-1)/i),m=i>>1;w[m]=1;
for(int j=m+1;j=2;i>>=1){
int m=i>>1;
for(int j=0;j>1;
for(int j=0;j>1),Init(n+n);
for(int i=0;i<=n;i++)Ta[i]=f[i],Tb[i]=g[i];
for(int i=n+1;i>1),Ln(g,Tj,n),Init(n+n);
for(int i=0;i<=n;i++)Th[i]=f[i],Ti[i]=g[i];
DFT(Th,len),DFT(Ti,len),DFT(Tj,len);
for(int i=0;i