20231108数数与dp题笔记
数数与dp
CF294C Shaass and Lights
记被分成的 \(m+1\) 段每一段的长度为 \(l_i\)
答案为
前面是不同段之间的顺序打乱,后面是每一段中前 \(l_i-1\) 个操作各有 \(2\) 个选择
CF1753C Wish I Knew How to Sort
先数有几个 \(0\) 记为 \(cnt\)
在数前 \(cnt\) 个有几个 \(1\) 记为 \(tot\)
答案为
即对于每一对有 \(\frac{n(n-1)}{2}\) 操作,其中有 \(i^2\) 对操作是有效的,即从 \([1,cnt]\) 选一个 \(1\) 与一个 \([cnt+1,n]\) 选一个 \(0\) 交换
CF1657E Star MST
dp[i][j] 表示考虑到第 \(i\) 个点,目前和 \(1\) 相连的最长的边为 \(j\) 的方案数
令 \(sum_{i,j}=\sum\limits_{k=1}^j{dp_{i,k}}\)
CF660E Different Subsets For All Tuples
经典套路,转化为求每个可能的串的贡献
发现对于长度相同的串,贡献是一样的,所以考虑怎么求一个定长的串的贡献
设当前考虑的串长为 \(k\) , 最后一个字符的位置为 \(j\)
选择哪些是子串内的有 \(\binom{j-1}{k-1}\) 种方案, \(j\) 之前每个非子串内的字符有 \(m-1\) 种选择,因为不能提前选到下一个字符,\(j\) 之后的字符每个有 \(m\) 种选择
所以总共有
注意到 \(m^k(m-1)^{j-k}\) 是二项式形式,所以原式为
暴力计算即可
p.s. 好像最后是个卷积可以FFT?
CF785D Anton and School - 2
统计前缀左括号和后缀右括号个数 对与每个左括号 以它为最后一个左括号的答案数量为
CF1540B Tree Array
先枚举根节点
枚举两个点 \(x,y(x>y)\) 考虑这两个点产生逆序对的概率,其实等于给定两个长度分别为 \(dep_x-dep_{lca},dep_y-dep_{lca}\) 的序列,每次概率均等的取走一个, 前者在后者之前取完的概率
dp[i][j] 表示长度分别为 \(i,j\) 时的概率
CF1716F Bags with Balls
挖坑待填
CF1437F Emotional Fishermen
最后的序列一定为 \(P_1...P_2...P_3...\)
其中满足 \(P_i\leq P_{i+1}\)
对 \(a\) 排序以后求出 \(lim_i\) 表示最大的 \(j\) 使得 \(2a_j\leq a_i\)
设 dp[i] 表示当前 \(i\in P\) 的方案数
CF1657F Words on Tree
不太理解这为什么被扔数数题里了
考虑每个操作其实是给了每个点两种可能,最后其实是问能不能使所有的点不冲突,明显可以 2-SAT 做
CF1626F A Random Code Problem
对于每个 \(a_i\) 先对 \(lcm(1,2,\cdots,k-1)\) 取模对答案是没有影响的,因为不会影响余数,即不会影响每次减去的数
于是 \(1\leq a_i \leq 998244353\) 转化为 \(1\leq a_i < 720720\)
dp[i][j] 表示第 \(i\) 轮后,值为 \(j\) 的数的期望个数

浙公网安备 33010602011771号