FWT
前言·一个故事
gm:你们不要忘了 3.8 晚上的 abc 哦。
哦 8 点了,开始打 abc。
ab 秒了,喔 c 怎么吃了一发?难道不是钦定 \(a\) 选几个然后贪心 \(b\)?改了下过了。
哦 d 比较一眼,吸取教训交到小号上抗一抗,哦怎么又 WA 了几个点?发现是 inf 设小了,改了改过了,此时情况不佳啊。
点开排行榜一看直接绷不住了。

请问你的罚时是一百万光年吗?
E 卡住了,发现是 DSU 板子写错了。F 一眼秒,感觉是典题拆贡献(怎么感觉很熟悉的样子)。
然后经典场景来了,看了一下 G,问了下 tzy 得知是 FWT(此时作者不会 FWT 但是知道他是干啥的)?这东西我记得有天晚上我看了道题,CF662C,但是没学,就放着了。喔然后发现跟 G 描述差不多,仔细揣摩发现几乎一致,去题解区粘了个题解代码过来样例过完了,喔喔喔感觉稳了!真是原啊,增行机交!RE 了!发现题目中 NM 是反的,改改改,先改数组,改完再增行机交!还是 RE!此时时间大概还剩两分钟,开始静态差错,先调了多项式次数,交!还是 RE 还有 WA 的,发现自己是唐诗,最后在 21:40:01 交了一发,还是 RE!
冷静下来思考一番,仔细观察代码并根据 FFT 的经验不是 FWT 的问题,而是这个题目需要的处理问题,发现有段代码的有个 1 << j!恍然大悟这里没改,改了就过了。
只看过一道 FWT 的题还正好碰到了也是够厉害的!
正文
已知 FFT 是求
\[C_k=\sum \limits_{i+j=k}A_i\times B_j
\]
然后 FWT 是求位运算的卷积,比如说
\[C_k=\sum \limits_{i\oplus j=k}A_i\times B_j
\]
然后正在学

浙公网安备 33010602011771号