c[0]=0,c[1]=3,c[2]=6,c[3]=14c[0]=0,c[1]=3,c[2]=6,c[3]=14就得到了不交并卷积的答案!这一过程的原理是这样的,如果i|j=ki|j=k,那么一定有pop_cnt[i]+pop_cnt[j]≥pop_cnt[k]pop_cnt[i]+pop_cnt[j]≥pop_cnt[k],并且等号iff i&j=0。这很好理解,因为如果i&j≠0i&j...
CF1034E Little C Loves 3 III 子集卷积,len≤221,0≤a[i],b[i]≤3,ans%4len≤221,0≤a[i],b[i]≤3,ans%4 即对于i∈[0,2n−1]i∈[0,2n−1]求出 ( ∑ j|k=i,j&k=0 a [ j ] × b [ k ] ) mod 4 看到这题5min5min莽了个子集卷积上去,MLE on 1 ...
模(4) 子集卷积。 (nle 21, ext{TL}=1 ext s)。 在占位集合幂级数的多项式一维代入 (y=4) 即可。直接自然溢出啥事没有。时间复杂度 (O(n2^n))。 #include<bits/stdc++.h> using namespace std; typedef unsigned long long LL; const int N = 1<<21; int n, m, siz[N]; LL a[N], b...
CF1034E Little C Loves 3 III【子集卷积,位运算】 模44子集卷积。 n≤21,TL=1sn≤21,TL=1s。 在占位集合幂级数的多项式一维代入y=4y=4即可。直接自然溢出啥事没有。时间复杂度O(n2n)O(n2n)。
CF1034E Little C Loves 3 III FWT, 构造 子集卷积 + 很小的模数? 但朴素的子集卷积时间空间都过不了 考虑到有个小模数 令Ai=ai4|i|,Bi=bi4|i|Ai=ai4|i|,Bi=bi4|i| 发现Ck=∑i|j=kAiBj=aibj4|i|+|j|Ck=∑i|j=kAiBj=aibj4|i|+|j|,这里的|i|+|j|≥|k||i|+|j|≥|k|,而...