专栏文章

P11588 题解

P11588题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@min3t9le
此快照首次捕获于
2025/12/01 20:06
3 个月前
此快照最后确认于
2025/12/01 20:06
3 个月前
查看原文

题意

给定一个带颜色的括号序列,要求选出一个匹配子序列,使得相邻或匹配的括号颜色不同,求能选出的本质不同合法子序列数量。n700n\le 700

题解

如果是下标不同子序列,可以设 fl,rf_{l,r} 表示在 [l,r][l,r] 内选,强制选 l,rl,r 且内部合法的方案数,之后区间 DP 转移。对于本质不同子序列,考虑最小表示,即对于某种子序列,每一位都尽可能靠前选。这样会限制选的相邻位置 x,yx,y 满足 preyxpre_y\le x,其中 preypre_y 表示 yy 上次出现的位置。这样是局部限制,可在 DP 过程中满足,最终也只对不存在 prelpre_lfl,rf_{l,r} 统计答案即可。
考虑转移,分为 l,rl,r 匹配和不匹配两种。前者枚举内部选的左右端点 x,yx,y ,不要求 x,yx,y 匹配,限制为 clcr,clcx,crcy,prexl,preryc_l\ne c_r,c_l\ne c_x,c_r\ne c_y,pre_x\le l,pre_r\le y;后者枚举与 ll 匹配的 xx,再枚举 xx 后第一个左括号 yy,要求 l,xl,x 匹配,不要求 y,ry,r 匹配,限制为 clcx,cxcy,preyxc_l\ne c_x,c_x\ne c_y,pre_y\le x。对于要求匹配的限制,额外开一维 0,10,1 表示是否强制匹配即可,复杂度 O(n4)\mathcal O(n^4),常数很小。
尝试优化,发现对于方案中相邻的 x,yx,y,固定 yy 时后缀 xx 合法,但固定 xx 时合法的 yy 没有规律,似乎不太容易直接前缀和优化。注意到转移时 yy 的限制只与 x,rx,r 有关,于是设 gx,r,hx,rg_{x,r},h_{x,r} 分别表示固定 x,rx,r 时,两种转移的合法 yy 对应值之和。此时 fl,r,1f_{l,r,1} 只会贡献到 gl,tg_{l,t}ht,rh_{t,r},也就是 O(n)\mathcal O(n) 个值中。转移时枚举 xx 后可以 O(1)\mathcal O(1),于是总复杂度为 O(n3)\mathcal O(n^3),好像常数还是不大啊。

代码

评论

0 条评论,欢迎与作者交流。

正在加载评论...