FFT&FWT
文章平均质量分 63
ZigZagK
一个蒟蒻。
展开
-
【FFT】BZOJ3527(Zjoi2014)[力]题解
题目概述给出 {qn}\{q_n\} ,求: Ei=∑j=0i−1qj(i−j)2−∑j=i+1nqj(i−j)2E_i=\sum_{j=0}^{i-1}{q_j\over (i-j)^2}-\sum_{j=i+1}^{n}{q_j\over(i-j)^2}解题报告FFT其实是在求向量卷积,形式是这样的: ci=∑j=0iajbi−jc_i=\sum_{j=0}^ia_jb_{i-j}然原创 2018-01-03 09:39:12 · 492 阅读 · 0 评论 -
FWT
另一种卷积多项式乘法的卷积是这样的: Ci=∑j+k=iAjBkC_i=\sum_{j+k=i}A_jB_k 然而还有种神奇的卷积( ⊕\oplus 是位运算): Ci=∑j⊕k=iAjBkC_i=\sum_{j\oplus k=i}A_jB_k FWT可以快速求这种卷积。快速沃尔什变换因为FFT用了系数 →\to 点值,用点值快速求卷积,再点值 →\to 系数的方原创 2018-01-15 11:14:01 · 2089 阅读 · 1 评论 -
【树形DP+FWT】HDU5909[Tree Cutting]题解
题目概述定义一棵树 {vn}\{v_n\} 的权值为 v1 xor v2 xor v3 xor⋯vnv_1\ xor\ v_2\ xor\ v_3\ xor\cdots v_n 。给出一棵树,统计权值 [0,m)[0,m) 在这棵树子图(子图显然也是树)中的出现情况。解题报告定义 f[i][j]f[i][j] 表示以 ii 为根异或权值为 jj 的方案数,对于 ii 的儿子 son原创 2018-01-15 13:25:27 · 608 阅读 · 0 评论 -
【FWT】BZOJ4589[Hard Nim]题解
题目概述有 nn 堆石子,石子数都是不超过 mm 的素数。进行Nim游戏,求先手必败的方案数。解题报告就是求异或和为 00 的方案数。先构造向量 Pi=[i是素数]P_i=[i是素数] ,然后可以看作 nn 个 PP 求异或卷积。所以先DWT,然后用快速幂求出卷积,最后IDWT就行了。示例程序#include#includeusing namespace std原创 2018-01-15 14:09:38 · 502 阅读 · 0 评论 -
【FWT】51Nod1773[A国的贸易]题解
题目概述有 2n" role="presentation" style="position: relative;">2n2n2^n 个点,每次 i" role="presentation" style="position: relative;">iii 点会使 count(i xor j)=1" role="presentation" style="position: re原创 2018-01-24 10:38:15 · 482 阅读 · 0 评论 -
【普通型母函数+容斥+FFT】BZOJ3771[Triple]题解
题目概述ZigZagK有 nn 把价值不一样的斧子,CHNJZ偷走了 11 把或 22 把或 33 把,对于每个可能的总损失,计算有几种可能的方案。解题报告emm……显然是母函数啊?但是有数量限制。由于最多偷走三把,所以我们可以直接三种情况都讨论过去。11 把:母函数:A(x)=xa1+xa2+xa3+⋯+xanA(x)=x^{a_1}+x^{a_2}+x^{a_3}+\cdots+x^{a_n}原创 2018-01-09 18:48:38 · 413 阅读 · 0 评论 -
FFT
前置知识两种多项式表示法:系数表示法:A(x)=∑n−1i=0aixiA(x)=\sum_{i=0}^{n-1}a_ix^i ,其中 {an−1}\{a_{n-1}\} 就是系数。点值表示法:代入 nn 个不同的 xx 得到对应的 A(x)A(x) 记为 (x,y)(x,y) ,这 nn 个点 (x0,y0),(x1,y1)⋯(xn−1,yn−1)(x_0,y_0),(x_1,y_1)\cdots(原创 2018-01-02 18:49:46 · 656 阅读 · 1 评论