大概是这样,摘自zhoutb2333的代码:
void solve(ll *x,int L){
modify(2*L);
for(int i=0;i<len;i++){
A[i]=i<L?c(m+1,i)*(i&1?p-1:1)%p:0;
B[i]=i<L?x[i]:0;
}
NTT(A,0),NTT(B,0);
for(int i=0;i<len;i++)
C[i]=A[i]*B[i]%p;
NTT(C,1);
for(int i=0;i<L;i++)
x[i]=C[i];
}