FWT
FSYo
我不去想是否能够成功,
既然选择了远方,
便只顾风雨兼程
展开
-
Codeforces Round 635 Div1 E2(线性基)(FWT)(组合数学)
传送门orzorzorz考虑令线性基 AAA 的大小为 kkk,能表示的数为 S(A)S(A)S(A)对于简单版本,若 k≤217k\le 2^{17}k≤217 可以暴力 dfsdfsdfs,否则考虑为 0 的 m−km-km−k 位,若之前选了某些数,那么对这些为 0 的位有一些贡献,选为 1 的位贡献一定为 1,那么我们把这 m−km-km−k 位压下来,fi,j,Sf_{i...原创 2020-04-17 00:00:41 · 270 阅读 · 1 评论 -
【省选模拟】20/04/13 摆家具(分治)(DP)(矩阵 / BM)
传送门思路:暴力的做法就是枚举末状态,处理到末状态的方案数发现方案数只和有几位不同有关,可以用分治 + dpdpdp 处理出 fi,jf_{i,j}fi,j 表示和 iii 有 jjj 位不同的数的和,复杂度 O(k2nk)O(k^2n^k)O(k2nk)下面考虑处理系数,设 dpi,jdp_{i,j}dpi,j 表示走 iii 步,还有 jjj 个不同的方案数那么转移可以表示成矩...原创 2020-04-13 19:56:55 · 163 阅读 · 0 评论 -
【省选模拟】西行(FWT)
HereHereHere看完题立马联想到黎明前的巧克力暴力的做法是对每一行做一遍 FWTFWTFWT,这样子是 O(n2mm)O(n2^mm)O(n2mm) 的发现每个位置的贡献要么是 −ai-a_i−ai 要么是 aia_iai,那么我们可以合起来做 FWTFWTFWT只需要知道这 2k2^k2k 种正负组合出现多少次就可以了问题就是出现了多少次,考场始终觉得方程不够,结果发现自己...原创 2020-02-05 23:41:30 · 279 阅读 · 0 评论 -
关于 FWT
首先,&,∣\&,|&,∣ 卷积可以在 这里 找到今天来说一说 ⨂\bigotimes⨂ 卷积问题:求 hk=∑i⨂j=kfj∗gkh_k=\sum_{i\bigotimes j=k} f_j*g_khk=∑i⨂j=kfj∗gk,其中 ⨂\bigotimes⨂ 为不进位加法,在二进制中说的就是异或首先我们有一个结论:12n∑T(−1)∣S∩T∣=[S=∅]\...原创 2020-01-19 20:38:46 · 283 阅读 · 1 评论 -
无题 (容斥)(分治乘法)
今天有点无聊,随便乱写一些东西luoguluoguluogu 上有这么一个板子,名叫 快速沃尔什变换前两个操作要求实现h(x)=∑i∣j=xf(i)g(j),h(x)=∑i&j=xf(i)g(j)h(x)=\sum_{i|j=x}f(i)g(j),h(x)=\sum_{i\&j=x}f(i)g(j)h(x)=i∣j=x∑f(i)g(j),h(x)=i&j=x∑f(...原创 2019-12-17 14:04:59 · 212 阅读 · 0 评论 -
[SDOI2017] 切树游戏 (FWT)(动态DP)(全局平衡二叉树)
传送门题意:求一棵树的所有权值异或起来为 KKK 的联通块个数,单点修改,n,q≤3e4,ai<128n,q\le3e4,a_i<128n,q≤3e4,ai<128先考虑朴素的 dpdpdpf[u][j]f[u][j]f[u][j] 表示 uuu 的子树,强制选 uuu,异或起来为 jjj 的方案数f[u][j]=∏x⨂y=jf[u][x]∗f[v][y]f[u][j]...原创 2019-12-06 19:10:59 · 260 阅读 · 0 评论 -
【UNR #2】黎明前的巧克力 (组合数学)(生成函数)(FWT)
传送门题意:求出两个集合使他们异或值相同,问方案数考虑统计那些异或起来为 0 的集合,这样的集合的任何一个划分都是合法的一个大小为 ∣S∣|S|∣S∣ 的集合的贡献是 2∣S∣2^{|S|}2∣S∣我们考虑上生成函数然后 FWTFWTFWT得到 ∏(2∗xai+1)\prod(2*x^{a_i}+1)∏(2∗xai+1) 过后 ifwtifwtifwt 回去,第 000 项的值就是答案...原创 2019-12-06 18:46:53 · 241 阅读 · 0 评论 -
WOJ4680 魅力(数位DP)(三进制 FWT)(FFT)
传送门首先可以写成数位 dpdpdp 的形式f[i+1][S′][(j∗10+d)%K]=f[i−1][S][j]f[i+1][S'][(j*10+d)\% K]=f[i-1][S][j]f[i+1][S′][(j∗10+d)%K]=f[i−1][S][j]SSS 的转移为三进制不进位加法考虑倍增,将两个序列拼接起来f[i][S][j]=∑A+B=i,S1⨂S2=S,x∗10B+y=j...原创 2019-12-04 19:54:00 · 304 阅读 · 0 评论 -
K 进制 FWT 学习笔记
需要快速求出 Ck=∑i⨂j=kAi∗BjC_k=\sum_{i\bigotimes j=k}A_i*B_jCk=∑i⨂j=kAi∗Bj考虑构造一个可逆的矩阵满足 (f∗A)∗(f∗B)=(f∗C)(f*A)*(f*B)=(f*C)(f∗A)∗(f∗B)=(f∗C)那么只需要快速求出 f∗A,f∗B,f−1∗(f∗C)f*A,f*B,f^{-1}*(f*C)f∗A,f∗B,f−1∗(f...原创 2019-11-29 23:19:30 · 698 阅读 · 0 评论 -
[WC2018]州区划分 [DP+FWT]
传送门考虑朴素的DP, 令表示把集合S分为若干个集合的不满意度之和,表示集合 s 的人口和发现是一个子集卷积对于第二个限制,我们可以构造一个, 只有当 popcnt(s) = i 时才有值然后按 i 从小到大处理,然后FWT, 每次把 popcnt(s) != i 的位置清零#include<bits/stdc++.h>#define N (1...原创 2019-08-30 22:59:00 · 164 阅读 · 0 评论 -
[51nod1773] A国的贸易 [FWT]
传送门设当前状态为 Fi于是构造 ,#include<bits/stdc++.h>#define N (1 << 20) + 50using namespace std;typedef long long ll;const int Mod = 1000000007, inv2 = (Mod + 1) / 2;int n, T; ll a...原创 2019-08-08 23:31:00 · 126 阅读 · 0 评论