
FWT
Lynstery
一只蒟蒻
展开
-
FWT——学习笔记
什么是FWT?我们知道普通的卷积是这样的: Ci=∑j+k=iAj∗BkC_i=\sum_{j+k=i}A_j*B_k 我们用FFT可以加速这一过程。 现在我们把++ 改成某位运算,成了位运算的卷积: Ci=∑j⊕k=iAj∗BkC_i=\sum_{j⊕k=i}A_j*B_k FWT就是用于解决这种卷积的。具体思想考虑一个变换:DWT(A)i=∑j=0n−1Aj∗f(i,j)DWT(A)_原创 2017-07-20 16:02:20 · 1396 阅读 · 1 评论 -
[FWT+Nim游戏] BZOJ4589: Hard Nim
题意Claris和NanoApe在玩石子游戏,他们有n堆石子,规则如下: 1.Claris和NanoApe两个人轮流拿石子,Claris先拿。 2.每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。 不同的初始局面,决定了最终的获胜者,有些局面下先拿的Claris会赢,其余的局面Claris会负。 Claris很好奇,如果这n堆石子满足每堆石子的初始数量是不超过原创 2017-07-20 21:52:14 · 489 阅读 · 0 评论 -
[FWT] 51nod 算法马拉松26 A. A国的贸易
题意A国是一个神奇的国家。 这个国家有 2n 个城市,每个城市都有一个独一无二的编号 ,编号范围为0~2n-1。 A国的神奇体现在,他们有着神奇的贸易规则。 当两个城市u,v的编号满足calc(u,v)=1的时候,这两个城市才可以进行贸易(即有一条边相连)。 而calc(u,v)定义为u,v按位异或的结果的二进制表示中数字1的个数。ex:calc(1,2)=2 ——> 01原创 2017-07-21 21:37:24 · 637 阅读 · 3 评论 -
[FWT] UOJ#310. 【UNR #2】黎明前的巧克力
题意 题解好题。 先把题目要求的稍微转换一下,可以发现若我们找到一个异或和为00的集合SS,则 2|S|2^{|S|} 种把 SS 分成两半的方案都是可行的方案。 所以我们考虑 DPDP : f(i,j)f(i,j) 表示前 ii 个元素,组成的集合异或和为jj 的所有集合的贡献。定义集合S的贡献为2|S|2^{|S|},则转移方程为: f(i,j)=f(i−1,j)+f(i−1,j xor原创 2017-07-22 12:48:36 · 527 阅读 · 0 评论