![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
FWT
C202044zxy
这个作者很懒,什么都没留下…
展开
-
CF850E Random Elections
一、题目点此看题二、解法三个候选人其实是一样的,所以我们求出AAA的答案,然后把答案乘333就行了。考虑如果A−BA-BA−B,A−CA-CA−C这两个投票情况的iii位(第iii的选民投的票),如果是(0,0)(0,0)(0,0)(AAA都不赢),那么就有BCABCABCA和CBACBACBA,同理可得,如果是(1,0)(1,0)(1,0)和(0,1)(0,1)(0,1)那么111种方案,(1,1)(1,1)(1,1)也是两种方案。综上,这一位异或为000就两种情况,否则只有一种。我们把fff数原创 2020-06-15 21:20:09 · 170 阅读 · 0 评论 -
CF914G Sum the Fibonacci
一、题目点此看题二、解法首先明确我们需要干什么:(f[sa∣sb]×cnt[sa∣sb])&(f[sc]×cnt[sc])&(f[sd⊕se]×cnt[sd⊕se])(f[s_a|s_b]\times cnt[s_a|s_b])\&(f[s_c]\times cnt[s_c])\&(f[s_d\oplus s_e]\times cnt[s_d\oplus s_e])(f[sa∣sb]×cnt[sa∣sb])&(f[sc]×cnt[sc])&原创 2020-06-15 16:01:15 · 146 阅读 · 0 评论 -
CF662C Binary Table
一、题目点此看题二、解法观察到nnn很小,我们肯定要从这里入手,设iii列的状态压缩为sis_isi,我们先枚举行的翻转选择xxx,那么列翻转后的状态是yi=si⊕xy_i=s_i\oplus xyi=si⊕x,设fif_ifi为二进制iii最少有多少个111(可翻转),那么答案就是:∑i=1mfsi⊕x\sum_{i=1}^m f_{s_i\oplus x}i=1∑mfsi⊕x我们枚举这个sis_isi和yiy_iyi,那么xxx就不需要了,设qiq_iqi为有多少列的初始状态原创 2020-06-13 21:49:05 · 208 阅读 · 0 评论 -
[HAOI2015]按位或
一、题目点此看题原创 2020-06-13 20:17:21 · 264 阅读 · 0 评论 -
[JOI 2018 Final]毒蛇越狱
一、题目点此看题二、解法考虑一个子集反演:f(s)=∑i∈sg(i)f(s)=\sum_{i\in s} g(i)f(s)=i∈s∑g(i)g(s)=∑i∈s(−1)∣s∣−∣i∣f(i)g(s)=\sum_{i\in s}(-1)^{|s|-|i|}f(i)g(s)=i∈s∑(−1)∣s∣−∣i∣f(i)下面给出证明:f(s)=∑i∈s∑j∈i(−1)∣i∣−∣j∣f(j)f(s)=\sum_{i\in s}\sum_{j\in i}(-1)^{|i|-|j|}f(j)f(s)=i∈s∑j原创 2020-06-12 20:59:00 · 270 阅读 · 0 评论 -
[WC2018] 州区划分
一、题目点此看题二、解法设dp[s]dp[s]dp[s]为选出来的点状压为sss,所得到的满意度总和,转移:dp[s]=1f[s]∑i∈sdp[i]×g[s−i]dp[s]=\frac{1}{f[s]}\sum_{i\in s}dp[i]\times g[s-i]dp[s]=f[s]1i∈s∑dp[i]×g[s−i]其中f[s]f[s]f[s]是www总和的ppp次方,g[s]g[s]g[s]是www总和的ppp次方 乘上 这个状态是否合法。显然这个柿子可以用快速子集卷积,然鹅我TTT了,不说原创 2020-06-11 22:05:25 · 161 阅读 · 0 评论 -
HDU6057 Kanade-s convolution
一、题目点此看题二、解法这道题涉及了三种位运算,有点麻烦,我们根据位运算的定义,就有:(i and j)+(i xor j)=(i or j)(i\space and\space j)+(i\space x or\space j)=(i\space or\space j)(i and j)+(i xor j)=(i or j),我们定义x=(i or j),y=(原创 2020-06-11 16:16:14 · 142 阅读 · 0 评论 -
[模板] 子集卷积
一、题目点此看题二、解法子集卷积的套路就是加一维二进制111的个数,那么就变成了:c[t3][k]=∑t1+t2=t3,i∣j=ka[t1][i]×b[t2][j]c[t_3][k]=\sum_{t_1+t_2=t_3,i|j=k}a[t_1][i]\times b[t_2][j]c[t3][k]=t1+t2=t3,i∣j=k∑a[t1][i]×b[t2][j]第一维的大小就是log\loglog,这样我们就可以用fwt\text{fwt}fwt了,先把所有aaa和bbb正向变化,可原创 2020-06-10 21:46:58 · 227 阅读 · 0 评论 -
[SNOI2017]遗失的答案
一、题目点此看题二、解法首先为了方便,可以把nnn和LLL都除以GGG,特判掉LLL不能整除的情况。现在就是要让gcd=1\gcd=1gcd=1,lcm=Llcm=Llcm=L,我们先把LLL质因数分解,手算可知最多只会有888个不同的质数,我们可以定义一个状态,前888位表示选出来的这些数有没有在当前质数位上指数的000的(保证gcd=1gcd=1gcd=1),后面888位表示选出来的这些数有没有在当前质数位上指数和lcmlcmlcm相等(保证lcmlcmlcm),选的数只能够在LLL的因数中选原创 2020-06-10 15:23:33 · 159 阅读 · 0 评论 -
[HDU 5909] Tree Cutting
一、题目点此看题题目描述给你一棵nnn个节点的树,每个节点都有一个小于mmm的权值,定义一棵子树的权值为所有节点的异或和,问权值为0..m−10..m−10..m−1的所有子树的个数。(这里子树的意思是联通子图)二、解法设dp[i][j]dp[i][j]dp[i][j]为第iii个点异或值为jjj的方案数,枚举子节点,转移如下:dp[u][k]=∑i⊕j=kdp[u][i]×dp[v][j]dp[u][k]=\sum_{i\oplus j=k}dp[u][i]\times dp[v][j]dp[原创 2020-06-09 16:54:14 · 155 阅读 · 0 评论 -
[BZOJ 4589] Hard Nim
一、题目Claris和NanoApe在玩石子游戏,他们有n堆石子,规则如下:Claris和NanoApe两个人轮流拿石子,Claris先拿。每次只能从一堆中取若干个,可将一堆全取走,但不可不取,拿到最后1颗石子的人获胜。不同的初始局面,决定了最终的获胜者,有些局面下先拿的Claris会赢,其余的局面Claris会负。Claris很好奇,如果这n堆石子满足每堆石子的初始数量是不超过m的质数,而且他们都会按照最优策略玩游戏,那么NanoApe能获胜的局面有多少种。由于答案可能很大,你只需要给出答原创 2020-06-09 16:08:16 · 174 阅读 · 0 评论 -
[学习笔记]快速沃尔什变换 (FWT)
一、题目原创 2020-06-09 15:29:50 · 318 阅读 · 0 评论