循环卷积的一个简单形式
循环卷积:
多项式 \(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)\)

浙公网安备 33010602011771号