首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
CF 914 G Sum the Fibonacci —— 子集卷积,FWT
】的更多相关文章
CF 914 G Sum the Fibonacci —— 子集卷积,FWT
题目:http://codeforces.com/contest/914/problem/G 其实就是把各种都用子集卷积和FWT卷起来算即可: 注意乘 Fibonacci 数组的位置: 子集卷积时不能一边做一边更新卷积的数组! 代码如下: #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long ll; int rd() { ,f=; cha…
CF 914G Sum the Fibonacci——子集卷积
题目:http://codeforces.com/contest/914/problem/G 第一个括号可以子集卷积:第三个括号可以用 FWT 异或卷积:这样算出选两个数组成 x 的方案数:三个部分的方案数分别乘上 f[ x ] 再一起与卷积即可. 注意子集卷积的时候不要改 tp[ i ][ s ] ,因为要的是恰好两个数拼起来,没有改过的(但是做过 FMT 的) tp[ i ][ s ] 存的是初值,表示选 1 个数的方案数. 所以如果可以选任意多个数,就可以像背包一样, tp[ j ][ s…
Codecraft-18 and Codeforces Round #458 (Div. 1 + Div. 2, combined)G. Sum the Fibonacci
题意:给一个数组s,求\(f(s_a | s_b) * f(s_c) * f(s_d \oplus s_e)\),f是斐波那契数列,而且要满足\(s_a\&s_b==0\),\((s_a | s_b)\&s_c\&(s_d \oplus s_e)=2^{i}\) 题解:先求\(A_k=f(k)*\sum_{i|j==k\&\&i\&j==0}s_a*s_b\),明显是个子集卷积,在求出\(B_k=f(k)*s_k\),\(C_k=f(k)*\sum_{i \…
@总结 - 2@ 位运算卷积/子集卷积 —— FWT/FMT
目录 @0 - 参考资料@ @1 - 异或卷积概念及性质@ @2 - 快速沃尔什正变换(异或)@ @3 - 快速沃尔什逆变换(异或)@ @4 - 与卷积.或卷积@ @5 - 参考代码实现@ @6 - 关于 FMT(快速莫比乌斯变换)@ @7 - 例题与应用@ @dp 优化@ @子集卷积@ @卷积逆运算@ @0 - 参考资料@ yyb 的讲解(FWT) popoqqq 的讲解(FWT) zjp 的讲解(FMT) Dance-Of-Faith 的讲解(FMT) @1 - 异或卷积概念及性质@ 现在已…
CF914G Sum the Fibonacci (快速沃尔什变换FWT + 子集卷积)
题面 题解 这是一道FWT和子集卷积的应用题. 我们先设 cnt[x] 表示 Si = x 的 i 的数量,那么 这里的Nab[x]指满足条件的 Sa|Sb=x.Sa&Sb=0 的(a,b)二元组数量,这个可以通过子集卷积快速求出,复杂度为 然后又设 那么就把答案简化为了 我们可以再次简化,设 这里的Nde[x]指满足条件的 Sd^Se=x 的(d,e)二元组数量,用FWT卷积求出,那么如果 就可以把答案简化为 最后考虑枚举 ,设答案为 所以我们就把它转化为了卷积的形式,用FWT这道题就完了.…
CF914G Sum the Fibonacci FWT、子集卷积
传送门 一道良心的练习FWT和子集卷积的板子-- 具体来说就是先把所有满足\(s_a \& s_b = 0\)的\(s_a \mid s_b\)的值用子集卷积算出来,将所有\(s_a \oplus s_b\)用xor卷积算出来,把斐波那契数代进去,然后将三个数组and卷积,最后取\(2^i (i \in Z)\)的位置的答案的和 #include<bits/stdc++.h> //this code is written by Itst using namespace std; int…
【codeforces914G】Sum the Fibonacci FWT+FST(快速子集变换)
题目描述 给出一个长度为 $n$ 的序列 $\{s\}$ ,对于所有满足以下条件的五元组 $(a,b,c,d,e)$ : $1\le a,b,c,d,e\le n$ : $(s_a|s_b)\&s_c\&(s_d\text{^}s_e)=2^i$ ,其中 $i$ 为非负整数 : $s_a\&s_b=0$ . 求 $f(s_a|s_b)\times f(s_c)\times f(s_d\text{^}s_e)$ 的和模 $10^9+7$,其中 $f(i)$ 表示斐波那契数列的第 $i…
【CF914G】Sum the Fibonacci 快速??变换模板
[CF914G]Sum the Fibonacci 题解:给你一个长度为n的数组s.定义五元组(a,b,c,d,e)是合法的当且仅当: 1. $1\le a,b,c,d,e\le n$2. $(s_a|s_b) \& s_c \& (s_d $^$ s_e)=2^i$,i是某个整数3. $s_a \& s_b=0$ 求$\sum f(s_a|s_b) * f(s_c) * f(s_d $^$ s_e)$,f是斐波那契数列,对于所有合法的五元组(a,b,c,d,e).答案模$10^9…
UOJ #348 州区划分 —— 状压DP+子集卷积
题目:http://uoj.ac/problem/348 一开始可以 3^n 子集DP,枚举一种状态的最后一个集合是什么来转移: 设 \( f[s] \) 表示 \( s \) 集合内的点都划分好了,\( g[s] = \sum\limits_{i \in s} w[i] \) 那么 \( f[s] = \sum\limits_{d \subseteq s} \frac{f[s-d] * g[d]}{g[s]} \) 注意判断一个集合是否合法,不仅要判断每个点的度数,还要判断整个集合是否连通:…
Future Failure CodeForces - 838C (博弈论,子集卷积)
大意: 两人轮流操作一个长$n$, 只含前$k$种小写字母的串, 每次操作删除一个字符或者将整个串重排, 每次操作后得到的串不能和之前出现过的串相同, 求多少种串能使先手必胜. 找下规律发现$n$为奇数必胜, 否则假设$a_i$为字符$i$出现次数, 如果$\frac{n!}{a_1!a_2!...a_k!}$为奇数则必败 $n!$中$2$的幂次为n-__builtin_popcount(n) 所以必败就等价于$a_1+...+a_n=a_1|...|a_n$ 设$f_{i,j}$表示前$i$个…