专栏文章
P11588 题解
P11588题解参与者 1已保存评论 0
文章操作
快速查看文章及其快照的属性,并进行相关操作。
- 当前评论
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @min3t9le
- 此快照首次捕获于
- 2025/12/01 20:06 3 个月前
- 此快照最后确认于
- 2025/12/01 20:06 3 个月前
题意
给定一个带颜色的括号序列,要求选出一个匹配子序列,使得相邻或匹配的括号颜色不同,求能选出的本质不同合法子序列数量。。
题解
如果是下标不同子序列,可以设 表示在 内选,强制选 且内部合法的方案数,之后区间 DP 转移。对于本质不同子序列,考虑最小表示,即对于某种子序列,每一位都尽可能靠前选。这样会限制选的相邻位置 满足 ,其中 表示 上次出现的位置。这样是局部限制,可在 DP 过程中满足,最终也只对不存在 的 统计答案即可。
考虑转移,分为 匹配和不匹配两种。前者枚举内部选的左右端点 ,不要求 匹配,限制为 ;后者枚举与 匹配的 ,再枚举 后第一个左括号 ,要求 匹配,不要求 匹配,限制为 。对于要求匹配的限制,额外开一维 表示是否强制匹配即可,复杂度 ,常数很小。
尝试优化,发现对于方案中相邻的 ,固定 时后缀 合法,但固定 时合法的 没有规律,似乎不太容易直接前缀和优化。注意到转移时 的限制只与 有关,于是设 分别表示固定 时,两种转移的合法 对应值之和。此时 只会贡献到 和 ,也就是 个值中。转移时枚举 后可以 ,于是总复杂度为 ,好像常数还是不大啊。
代码
见云剪切板。
相关推荐
评论
共 0 条评论,欢迎与作者交流。
正在加载评论...