
区间dp
deerly_
懒了这么久,我也该勤快一些了
展开
-
URAL 1635. Mnemonics and Palindromes (区间dp)
URAL 1635. Mnemonics and Palindromes(区间dp)题目链接 题目大意:给定一个字符串,问分割成最少的子串,是每个子串均为回文串。 题目分析:可以用普通的区间dp做法,但是字符串的长度达到了4000,n^3会超时,要想办法降到n^2。想了很久,没有想出来,看了博客的做法。先预处理出来区间[i, j]是否为回文串。假如字符串的长度为10, 那么以6为长度的字符...原创 2018-05-17 10:49:01 · 189 阅读 · 0 评论 -
HDU - 4283 You Are the One 区间dp
HDU - 4283 You Are the One 区间dp题目链接 题目大意:有n个人排成一排要上台表演,每个人有一个屌丝值pi。第i个上台表演的人,他的不满意度为(i-1)*pi。 现在有一个类似于栈的黑屋子,你可以让某些人进入这个黑屋子。这些人要按照排的顺序来,那么对于排在最前面的人, 就有两个选择: (1)让他直接上台表演; (2)让他暂时进黑屋子。 现在请你选择一个合...原创 2018-06-25 17:27:39 · 170 阅读 · 0 评论 -
Food Delivery ZOJ - 3469 区间dp
Food Delivery ZOJ - 3469 区间dp题目链接 题目大意:位于x位置有一家快餐店,骑车去给N个位置的人送外卖,车速V-1m/min(就是说这个速度是时间/路程,直接乘上路程就是时间),N个人每一分钟没有收到外卖不满意值就是加W,问送外卖的最小不满意值。 题目分析:跟之前做过的一道Kirill the Gardener 3 十分相似,只不过那个是单向的,这个是双向的。看了...原创 2018-05-30 17:03:52 · 150 阅读 · 0 评论 -
Halloween Costumes LightOJ - 1422 区间dp
Halloween Costumes LightOJ - 1422 区间dp题目链接 题目大意:按顺序去参加舞会。每个舞会对衣服都有要求。可以连续穿好多件衣服。需要时候就脱下来,但是一旦脱下来,这件衣服就报废了。问最少需要几件衣服。 输入: T组样例 4 1 2 1 2 输出: 3 第一天人穿1,第二天穿2,套在1外边,第三天脱2,漏出1,最后一天穿2。一共穿三次 思路: ...原创 2018-05-29 12:19:54 · 239 阅读 · 0 评论 -
POJ - 1651 区间dp
POJ - 1651 区间dp题目链接 题目大意:n个数,每次取一个数(第一个数和最后一个不能取),得到的值是这个数和相邻两边的乘积,问得到的结果最小值是多少 sample: 5 10 1 50 20 5 输出: 1150 1*50*20 + 1*20*5 + 10*1*5 = 1000+100+50 = 1150. 心路历程:因为是区间dp的题,所以毫不犹豫就去想区间dp了。一...原创 2018-05-28 21:32:34 · 271 阅读 · 0 评论 -
括号匹配 (区间dp)
区间dp题目大意:给出一个的只有’(‘,’)’,’[‘,’]’四种括号组成的字符串,求最多有多少个括号满足匹配。 题目链接 思路:用dp[i][j]表示区间i~j的最大匹配数,对于dp[i][j] = dp[i + 1][j - 1] + (s[i]和s[j]匹配?2 : 0),开始时dp[i][j]均为0。 代码如下:#include <cstdio>#inclu...原创 2018-05-16 20:35:14 · 1803 阅读 · 0 评论 -
石子合并 区间dp
石子合并 区间dp题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=737 题目大意: 有N堆石子排成一排,每堆石子有一定的数量。现要将N堆石子并成为一堆。合并的过程只能每次将相邻的两堆石子堆成一堆,每次合并花费的代价为这两堆石子的和,经过N-1次合并后成为一堆。求出总的代价最小值。 题目分析:区间dp 参考博客 区间dp...原创 2018-05-15 16:11:57 · 352 阅读 · 0 评论 -
Pangu and Stones HihoCoder - 1636
题意:给出n堆石头,每次最少合并其中l堆,最多合并r堆,问合成1堆最少需要花费多少时间dp[i][j][k]表示i~j这个区间合成k堆所需要的最小时间,故可得状态转移方程式: d为枚举的区间间隔 1.k==1 dp[i][i+d][1]=min(dp[i][i+d][1],dp[i][j][k]+dp[j+1][i+d][1]+sum[i][i+d]) (l-1&lt;=k&lt;...原创 2018-05-17 20:32:51 · 150 阅读 · 0 评论 -
Palindrome subsequence HDU - 4632 (区间dp)
Palindrome subsequence HDU - 4632 (区间dp)题目链接 题目大意:求字符串有多少回文子序列。(这里的子序列可以不连续) input: 4 a aaaaa goodafternooneveryone welcometoooxxourproblems output: Case 1: 1 Case 2: 31 Case 3: 421 Cas...原创 2018-05-17 11:17:52 · 239 阅读 · 0 评论 -
String painter HDU - 2476 区间dp
String painter HDU - 2476 区间dp题意:给出两个串s1和s2,一次只能将一个区间刷一次,问最少几次能让s1=s2 例如zzzzzfzzzzz,长度为11,我们就将下标看做0~10, 变成abcdefedcab 先将0~10刷一次,变成aaaaaaaaaaa 1~9刷一次,abbbbbbbbba 2~8:abcccccccba 3~7:abcdddddcb...原创 2018-06-25 20:25:33 · 223 阅读 · 0 评论