首页 > TAG信息列表 > P4170
洛谷P4170
题目描述 假设你有一条长度为 55 的木板,初始时没有涂过任何颜色。你希望把它的 55 个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为 55 的字符串表示这个目标:RGBGR。 每次你可以把一段连续的木板涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。例如第一次把木板涂成 RRRR【LG P4170】涂色
解析 题意是求对字符串的最少染色次数,设 f[i][j] 为字符串的子串 s[i] ~ s[j] 的最少染色次数,我们分析一下: 当 i==j 时,子串明显只需要涂色一次,于是 f[i][j]=1。 当 i!=j 且 s[i]==s[j] 时,可以想到只需要在首次涂色时多涂一格即可,于是 f[i][j]=min(f[i][j-1],f[i+1][j])。 当 i!=j2021.07.17 P4170 染色(区间DP)
2021.07.17 P4170 染色(区间DP) [P4170 CQOI2007]涂色 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.目标状态可以由哪些状态转移过来。 题目: 每次可以改变一段连续区间的颜色,问最少需要几次可以吧颜色改为目标区间颜色。 分析: 在一段连续区间(l,r)内,如果l,r处颜色相同,则选String painter HDU - 2476
原题链接 考察:区间dp 这道题可以想到P4170涂色和Acwing 编辑距离的结合. 错误思路: 如果直接按a[i]==b[i]与a[j]==b[j]划分的话(实际上a[i]==b[i]与j可以合并),就会少了考虑b连续的条件.使得次数增加了. 错误思路2: 将a[i]==a[j]&&b[i]==b[j]与b[i]==a[i]合并P4170 [CQOI2007]涂色
原题链接 考察:区间dp 思路: f[i][j]为涂色[i,j]区间的最少次数,按s[i]与s[j]的关系划分集合,如果s[i]!=s[j],我们枚举断点,f[i][j] = f[i][k]+f[k+1][j].如果s[i]==s[j],答案不是f[i+1][j-1]+1,这个方程不能处理全都相等的情况,应该考虑去掉一边即只涂f[i+1,j]或者f[i