
区间DP
文章平均质量分 70
AC_Arthur
Die luft der Freiheit weht
展开
-
HDU 5115 Dire Wolf(区间DP)
一道非常经典的区间DP。 一开始没有想明白状态到底该如何表示,因为杀掉一只狼会影响其他狼的攻击力,所以看起来貌似非常难以解决。 但是如果看出了是区间DP之后,就可以展开DP的常规推理了。 首先,是状态的表示,如何表示状态,这是最重要的一步。 表示出状态以后,还要看他是怎么转移的,以及转移过去的子问题是不是和原问题具有相同的结构和意义。 我们套用区间DP常规的状态表示:d[i][原创 2015-10-21 19:49:31 · 792 阅读 · 0 评论 -
POJ 1651 Multiplication Puzzle(区间DP)
一道比较经典的区间DP,和这题一样:点击打开链接用dp[i][j] 表示消掉区间[i,j]内所有数字后的最优解。 那么状态转移为ans = min(ans,dp(i,k-1)+a[k]*a[i-1]*a[j+1]+dp(k+1,j)); 表示原创 2015-10-31 10:35:36 · 833 阅读 · 0 评论 -
lightoj 1422 - Halloween Costumes(区间DP)
题目链接:点击打开链接题意:有n个舞会, 每个舞会规定要穿哪个衣服, 衣服可以套着穿, 一旦脱下一件衣服, 再穿时要穿新的, 求最少要准备多少套衣服。思路:一开始手算了一下, 发现普通的贪心策略是行不通的, 因为可能情况太多, 那么显然这肯定是一道DP了, 只是没想到是区间DP, 找了很多状态都不对。问题的关键是, 如果有几件衣服都在不同舞会出现, 那么到底是选择哪一件衣服留到后边穿。原创 2016-02-05 17:11:49 · 1553 阅读 · 0 评论 -
HDU 4283 You Are the One(区间DP)
题目链接:点击打开链接思路: 经典区间DP, 用区间d[l][r]表示, 当前[l, r]区间的最优解。 那么对于当前区间, 左端点的行为决定了状态的转移, 那么编号l的人是否进小黑屋, 第几个进小黑屋呢。 我们再用一重循环枚举, l是[l, r]区间中第几个出场的, 那么他前面有多少人,贡献就增加几个a[l]。 假设, 是第k个出场的, 那么答案需要累加上它前边的人的贡献:(k - l)原创 2016-04-08 20:09:29 · 2456 阅读 · 0 评论 -
玲珑杯 1074 - Pick Up Coins(区间DP)
题目链接:点击打开链接思路:用d[l][r]表示这个区间的最大值。 那么我们枚举区间的某个数, 表示这个数是区间内最后一个选的数。 所以他的临近元素是a[l-1]和a[r+1]。14年北京赛区原题...细节参见代码:#include #include #include #include #include #include #include #include原创 2016-12-24 16:13:34 · 863 阅读 · 0 评论