动态规划-区间DP
文章平均质量分 55
JeraKrs
本人目前就职于百度商业研发部,有需要内推的朋友简历可发我邮箱 jerakrs@qq.com
展开
-
uva 348 Optimal Array Multiplication Sequence(区间dp)
题目连接:348 - Optimal Array Multiplication Sequence题目大意:给出n个矩阵, 每个矩阵有它的行和列, 现在要计算这n个连续的矩阵的乘积, 要求找出计算量最小的方案, 每两个矩阵相乘的计算量为(a.l * a.r * b.r),然后生成一个a.l和b.r的矩阵。解题思路:典型的区间dp, 只不过在每次找最优解之后要记录当前区间的最优原创 2013-09-13 19:46:52 · 1437 阅读 · 0 评论 -
uva 10891 Game of Sum(区间dp)
题目连接:10891 - Game of Sum题目大意:有n个数字排成一条直线,然后有两个小伙伴来玩游戏, 每个小伙伴每次可以从两端(左或右)中的任意一端取走一个或若干个数(获得价值为取走数之和), 但是他取走的方式一定要让他在游戏结束时价值尽量的高,最头疼的是两个小伙伴都很聪明,所以每一轮两人都将按照对自己最有利的方法去取数字,请你算一下在游戏结束时,先取数的人价值与后取数人价值只原创 2013-09-13 00:19:45 · 1988 阅读 · 0 评论 -
uva 1362 - Exploring Pyramids(区间dp)
题目连接:uva 1362 - Exploring Pyramids题目大意:给出一个字符串,问有多少种多叉树德前序遍历(这里每经过一个节点,该节点的值即要被算入,回溯的也要)满足该字符串。解题思路:dp[i][j]表示从i到j的位置可以用多少种多叉树表示。转移方程:dp[i][j]=∑k=i+2jdp[i+1][k−1]∗dp[k][j]。#include #include原创 2014-05-18 14:22:25 · 1680 阅读 · 0 评论 -
Codeforces 437E The Child and Polygon(区间DP)
题目链接:Codeforces 437E The Child and Polygon题目大意:给出一个多边形,问说有多少种分割方法,将多边形分割为多个三角形。解题思路:首先要理解向量叉积的性质,一开始将给出的点转换成顺时针,然后用区间dp计算。dp[i][j]表示从点i到点j可以有dp[i][j]种切割方法。然后点i和点j是否可以做为切割线,要经过判断,即在i和j中选择的话点k的话原创 2014-06-14 20:42:16 · 1661 阅读 · 0 评论 -
uva 10003 Cutting Sticks(区间DP)
题目连接:10003 - Cutting Sticks题目大意:给出一个长l的木棍, 再给出n个要求切割的点,每次切割的代价是当前木棍的长度, 现在要求输出最小代价。解题思路:区间DP, 每次查找当前区间的最优解 , 并记录。需要注意的是输入的切割点并不是从小到大。#include #include #include using namespace std原创 2013-09-05 16:54:02 · 1411 阅读 · 0 评论 -
uva 10304 - Optimal Binary Search Tree(区间dp)
题目链接:10304 - Optimal Binary Search Tree题目大意:给出n个词语的出现频率(从小到达排列),要根据这些词语的出现频率建一个类似于哈夫曼编码的最优树, 不过不同的是这棵数的每个节点都应该优值,并且对于每个节点来说,左边所有的节点上的值(词语的频率)都要小于该节点, 右边的则都要大于。然后根据节点的层数*节点值, 输出最小的编码值。解题思路:原创 2013-09-22 16:15:00 · 1695 阅读 · 0 评论 -
uva 10529 - Dumb Bones(概率+区间dp)
题目连接:uva 10529 - Dumb Bones题目大意:给定n,表示要放n个骨牌,每次放下骨牌,有可能向左倒的概率为pl,向右倒的概率为pr,如果倒下,会将那一侧的骨牌全部推倒,可以选择位置先后放骨牌,问说一种放骨牌次数最少的期望是多少。解题思路:dp[i]表示放i个骨牌需要的步数期望,维护一个最优放的位置,dp[i] = min\{ (从i-1到i的步数)} + (0到i原创 2014-08-12 10:28:27 · 1967 阅读 · 1 评论 -
hdu 5151 Sit sit sit(DP)
题目链接:hdu 5151 Sit sit sit区间dp,dp[i][j]表示从i到j的方案数,每次枚举i~j之间放最大值的位置,左右颜色不同的位置不能放最大值。#include #include #include using namespace std;const int maxn = 105;typedef long long ll;const ll mod =原创 2015-01-03 21:48:02 · 1788 阅读 · 0 评论 -
hdu 5396 Expression(区间dp)
题目链接:hdu 5396 Expression需要乘上组合数。#include #include #include using namespace std;const int maxn = 100;const int mod = 1e9 + 7;typedef long long ll;int C[maxn + 5][maxn + 5], F[maxn原创 2015-08-19 23:54:45 · 700 阅读 · 0 评论