本文主要是介绍CQOI 2018 题解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
[CQOI2018]社交网络 矩阵树模板
[CQOI2018]解锁屏幕 状压DP模板
[CQOI2018]交错序列
x a y b = ( n − y ) a y b = ∑ i = 0 a ( n i ) n i ( − 1 ) a − i y a + b − i x^ay^b=(n-y)^ay^b=\sum_{i=0}^a\binom{n}{i}n^i(-1)^{a-i}y^{a+b-i} xayb=(n−y)ayb=∑i=0a(in)ni(−1)a−iya+b−i
现在需要求出所有交错序列的 y k y^k yk ,考虑 d p dp dp
f i , j , 0 / 1 f_{i,j,0/1} fi,j,0/1 表示到第 i 位,求出了所有交错序列1的个数的 j 次方,最后一位是 0/1 的值
f i , j , 0 = f i − 1 , j , 0 + f i − 1 , j , 1 f_{i,j,0}=f_{i-1,j,0}+f_{i-1,j,1} fi,j,0=fi−1,j,0+fi−1,j,1
f i , j , 1 = ∑ ( y + 1 ) j = ∑ ( j k ) y k = ∑ ( j k ) f i − 1 , k , 0 f_{i,j,1}=\sum (y+1)^j=\sum \binom{j}{k}y^k=\sum \binom{j}{k}f_{i-1, k, 0} fi,j,1=∑(y+1)j=∑(kj)yk=∑(kj)fi−1,k,0
然后就可以矩阵乘了
[CQOI2018]异或序列
区间异或转成前缀后就是莫队的模板
[CQOI2018]九连环
稍微算一下发现 a n s = ⌊ 2 n + 1 3 ⌋ ans=\left \lfloor \frac{2^{n+1}}{3} \right \rfloor ans=⌊32n+1⌋,然后就是 F F T FFT FFT 的模板
[CQOI2018]破解D-H协议 B S G S BSGS BSGS 的模板
这篇关于CQOI 2018 题解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!