
区间dp
Viscu
勤能补拙。
展开
-
BZOJ 1055: [HAOI2008]玩具取名 区间dp
Description 某人有一套玩具,并想法给玩具命名。首先他选择WING四个字母中的任意一个字母作为玩具的基本名字。然后 他会根据自己的喜好,将名字中任意一个字母用“WING”中任意两个字母代替,使得自己的名字能够扩充得很长。 现在,他想请你猜猜某一个很长的名字,最初可能是由哪几个字母变形过来的。 Input 第一行四个整数W、I、N、G。表示每一个...原创 2018-09-05 18:01:29 · 222 阅读 · 0 评论 -
BZOJ 1260: [CQOI2007]涂色paint 区间dp
Description 假设你有一条长度为5的木版,初始时没有涂过任何颜色。你希望把它的5个单位长度分别涂上红、绿、蓝、绿、红色,用一个长度为5的字符串表示这个目标:RGBGR。 每次你可以把一段连续的木版涂成一个给定的颜色,后涂的颜色覆盖先涂的颜色。例如第一次把木版涂成RRRRR,第二次涂成RGGGR,第三次涂成RGBGR,达到目标。 用尽量少的涂色次数达到目标。 Input ...原创 2018-09-05 19:03:38 · 316 阅读 · 0 评论 -
BZOJ 1090: [SCOI2003]字符串折叠 区间dp
折叠的定义如下: 1. 一个字符串可以看成它自身的折叠。记作S S 2. X(S)是X(X>1)个S连接在一起的串的折叠。记作X(S) SSSS…S(X个S)。 3. 如果A A’, BB’,则AB A’B’ 例如,因为3(A) = AAA, 2(B) = BB,所以3(A)C2(B) AAACBB,而2(3(A)C)2(B)AAACAAACBB 给一个字符串,...原创 2018-09-05 22:47:33 · 174 阅读 · 0 评论 -
BZOJ 1068: [SCOI2007]压缩 区间dp
Description 给一个由小写字母组成的字符串,我们可以用一种简单的方法来压缩其中的重复信息。压缩后的字符串除了小 写字母外还可以(但不必)包含大写字母R与M,其中M标记重复串的开始,R重复从上一个M(如果当前位置左边没 有M,则从串的开始算起)开始的解压结果(称为缓冲串)。 bcdcdcdcd可以压缩为bMcdRR,下面是解压缩的过程 另一个例子是ab...原创 2018-09-06 01:45:45 · 198 阅读 · 0 评论 -
BZOJ 1996: [Hnoi2010]chorus 合唱队 区间dp
思路:dp{i,j,k}表示从i到j之间符合的队形的个数,k表示把i是放在前面还是后面(0/1)。其实我们就讨论两种情况即可,i放在最左边,还是放在最右边。public class __1996 { public static final int mod=19650827; public static void main(String[] args) { ...原创 2018-09-06 16:51:44 · 234 阅读 · 0 评论