https://vj.imken.moe/contest/597216#problem/F 考虑两个人的集合分别为 i , j i,j i,j,那么我们令 f ( i ⊗ j ) + + f(i\otimes j)++ f(i⊗j)++,其中 f ( s ) f(s) f(s) 表示两个人不同集合恰好为 s s s,显然 f ( s ) f(s) f(s) 可以FWT求。 假设 g
Description 传送门 题解 看懂题需要一会… 朴素的dp就可以列出一个方程 f [ m a s k ] = 1 r [ i ] p ∑ j ∣ k = m a s k f [ j ] ∗ r [ k ] p f[mask]=\frac{1}{r[i]^p}\sum_{j|k=mask} f[j]*r[k]^p f[mask]=r[i]p1j∣k=mask∑f[j]∗r
引入 我们已经知道了多项式版的二进制 FWT,但是我们似乎不是很好将其扩展到 k k k 进制下,于是我们来考虑另一种方式的 FWT。 原理 二进制 规定三个多项式的长度为 2 n 2^n 2n,如果不够则往后面补 0 0 0。 还是先考虑二进制,我们假设存在矩阵使得 T A ∗ T B = T C TA * TB = TC TA∗TB=TC,考虑矩阵长什么样。 我们可以得到如