随笔分类 -  NOIP-动态规划-区间DP

摘要:题意 给定一个初始的序列以及四种操作,问最少操作多少次可以是序列变为回文序列。 操作如下: 1. 在队伍左侧或右侧添加一个数 2. 在队伍中插入一个数 3. 删除一个数 4. 改变一个数的值 思路 看到给定的序列和改数的操作(其实还是因为询问是最少操作次数),可以想到区间dp。 设子状态$dp[i] 阅读全文
posted @ 2019-10-16 23:10 Ilverene 阅读(183) 评论(0) 推荐(0)
摘要:题意 给定一系列规则:某个长度为2的字符串可以化为某个长度为1的字符串。对于给出的字符串,求可以化为哪些长度为1的字符串。 题目所涉及字符串均由W,I,N,G组成。 思路 区间dp。 子状态$dp[l][r][i]$表示区间[l,r]是否可以化为i。 枚举断点合并即可。 代码 cpp include 阅读全文
posted @ 2019-09-30 18:00 Ilverene 阅读(182) 评论(0) 推荐(0)
摘要:题意 给定一个串,要求对空串进行染色,使其成为目标串。每一次染色可以将一段连续区间染为同一种颜色,求最小次数。 思路 典型的区间dp题。 子状态$f[i][j]$表示该区间最小方案数。显然单点方案数为1。 如果一个区间的左右端点相同,那么可以理解为在最开始将整个区间染色,然后复制[l+1,r]的染色 阅读全文
posted @ 2019-09-29 20:39 Ilverene 阅读(148) 评论(0) 推荐(0)