多项式卷积求高阶差分

大概是这样,摘自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];
}

posted on 2018-12-31 16:40  ErkkiErkko  阅读(98)  评论(0编辑  收藏

统计