20231108数数与dp题笔记
数数与dp
CF294C Shaass and Lights
记被分成的 段每一段的长度为
答案为
前面是不同段之间的顺序打乱,后面是每一段中前 个操作各有 个选择
CF1753C Wish I Knew How to Sort
先数有几个 记为
在数前 个有几个 记为
答案为
即对于每一对有 操作,其中有 对操作是有效的,即从 选一个 与一个 选一个 交换
CF1657E Star MST
dp[i][j]
表示考虑到第 个点,目前和 相连的最长的边为 的方案数
令
CF660E Different Subsets For All Tuples
经典套路,转化为求每个可能的串的贡献
发现对于长度相同的串,贡献是一样的,所以考虑怎么求一个定长的串的贡献
设当前考虑的串长为 , 最后一个字符的位置为
选择哪些是子串内的有 种方案, 之前每个非子串内的字符有 种选择,因为不能提前选到下一个字符, 之后的字符每个有 种选择
所以总共有
注意到 是二项式形式,所以原式为
暴力计算即可
p.s. 好像最后是个卷积可以FFT?
CF785D Anton and School - 2
统计前缀左括号和后缀右括号个数 对与每个左括号 以它为最后一个左括号的答案数量为
CF1540B Tree Array
先枚举根节点
枚举两个点 考虑这两个点产生逆序对的概率,其实等于给定两个长度分别为 的序列,每次概率均等的取走一个, 前者在后者之前取完的概率
dp[i][j]
表示长度分别为 时的概率
CF1716F Bags with Balls
挖坑待填
CF1437F Emotional Fishermen
最后的序列一定为
其中满足
对 排序以后求出 表示最大的 使得
设 dp[i]
表示当前 的方案数
CF1657F Words on Tree
不太理解这为什么被扔数数题里了
考虑每个操作其实是给了每个点两种可能,最后其实是问能不能使所有的点不冲突,明显可以 2-SAT
做
CF1626F A Random Code Problem
对于每个 先对 取模对答案是没有影响的,因为不会影响余数,即不会影响每次减去的数
于是 转化为
dp[i][j]
表示第 轮后,值为 的数的期望个数
本文作者:xiaruize's Blog
本文链接:https://www.cnblogs.com/xiaruize/p/17818425.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步