多项式卷积求高阶差分

大概是这样,摘自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];
}
原文地址:https://www.cnblogs.com/ErkkiErkko/p/10202407.html