区间dp
Lazines_by
好吧,我要工作了
展开
-
nyist737 石子合并
http://acm.nyist.net/JudgeOnline/problem.php?pid=737 题意: 只能合并相邻两个元素,加上这两个的值,问使得所有的合并成一堆得最小的总值; 思路:用一个二维数组dp[][],dp[i][j]表示合并i ~ j这段区间的最小的权;其中当i == j的时候,dp[i][j] = 0,因为这个时候只有一个元素,不需要合并;原创 2017-04-02 09:50:39 · 350 阅读 · 0 评论 -
POJ3186
Treats for the rows 题意:给一个数组,然后只能把数组两端的数取出来,然后乘以这是第几次取出的数,然后相加,问取完之后,最大的值为多少? 思路:用一个二位dp数组,dp[i][j],表示的是剩下的i ~ j的这段数组,其他的数都取完了,所以当i == j 的时候就把所有的数取完了; 推出的递推式为: dp[i][j] = max(dp[i - 1][j]原创 2017-03-31 11:15:19 · 312 阅读 · 0 评论 -
uva1626
uva1626 Brackets sequence 题意:一组只由[ ,],(, ),组成的字符串,然后对他进行增添字符,使其匹配;求给他增添的最少的括号的数量,然后输出匹配后的序列; 分析:用刘汝佳的话说; 如果s 形如(s')和 [s']可以转移到d[s'] 如果s至少有两个字符,可以分成AB,转移到d[A] + d[B];原创 2017-04-01 16:02:42 · 578 阅读 · 0 评论