循环卷积的一个简单形式

循环卷积:

多项式 \(F · G \% (x^k - 1)\)

写成代码可以是:

vector<int> operator*(const vector<int> &lhs, const vector<int> &rhs) {    

	vector<int> ans(k);    

	for (int i = 0; i < k; ++i)

        for (int j = 0; j < k; ++j)

            ans[(i + j) % k] = (ans[(i + j) % k] + 1LL * lhs[i] * rhs[j]) % p;

	return ans; 

}	

这玩意没有优化复杂度,但是代码比多项式取模好写。但是模数必须是 \((x^k - 1)\)

posted @ 2025-01-23 19:11  花子の水晶植轮daisuki  阅读(21)  评论(0)    收藏  举报
https://blog-static.cnblogs.com/files/zouwangblog/mouse-click.js