区间DP
kalilili
双眼闭三年。
展开
-
POJ1651:Multiplication Puzzle(区间DP 最优矩阵链乘)
题意:除了头尾不能动,每次取出一个数字,这个数字与左右相邻数字的乘积为其价值,最后将所有价值加起来,要求最小值 和最优矩阵链乘模型一样,最后取出的数决定了序,如果没学过最优矩阵连乘找重复子问题还是比较难找的 DP //180K 0MS #include #include #include #include using namespace std; int dp[110][110];原创 2015-03-09 20:47:01 · 901 阅读 · 0 评论 -
zoj 3537 cake (区间DP+凸包+ 最优三角形剖分模型)
题意:一块多边形先判凸凹,凸则三角剖分 三角剖分模型和最优矩阵链乘模型几乎相同,都是对区间的DP,只不过最优矩阵链乘的最后次乘法决定了决策顺序,三角剖分没天然的顺序,所以要人为加上顺序 凸包用了卷包裹法 //Accepted 3537 C++ 0 1004 #include #include #include #include #include #include using names原创 2015-03-09 20:54:44 · 864 阅读 · 0 评论 -
UVA 10003 - Cutting Sticks (区间DP)
题意:把一根木棍按给定的n个点切下去,每次切的花费为切的那段木棍的长度,求最小花费。 区间DP 和POJ 3253-Fence Repair相似,POJ那题不是给定切割点,而是给定了需要切成的长度,所以可以用哈夫曼编码贪心做 // Accepted C++ 0.112 #include #include #include #include using namespace std; int l原创 2015-03-10 16:45:27 · 698 阅读 · 0 评论 -
UVA1626 - Brackets sequence(区间DP--括号匹配+递归打印)
题目描述: 定义合法的括号序列如下: 1 空序列是一个合法的序列 2 如果S是合法的序列,则(S)和[S]也是合法的序列 3 如果A和B是合法的序列,则AB也是合法的序列 例如:下面的都是合法的括号序列 (), [], (()), ([]), ()[], ()[()] 下面的都是非法的括号序列 (, [, ), )(, ([)]原创 2015-03-12 22:20:31 · 763 阅读 · 1 评论 -
Uva 1331 - Minimax Triangulation(最优三角剖分 区间DP)
题目大意:按照顺时针或者逆时针的顺序给出多边的点,要将这个多边形分解成n-2个三角形,要求使得这些三角行中面积最大的三角形面积尽量小,求最小值。 思路:用区间DP可以很方便解决,多边形可能是凹边形,注意剖分的三角形必须在多边形内部,所以可以去掉剖分的三角形中包含其他点,但是其他的在多边形外部的三角形没想到其他方法去除,却ac了,不懂为何 // Accepted C++ 0.042 #inclu原创 2015-03-13 15:54:03 · 1533 阅读 · 0 评论 -
Codeforces Round #311 (Div. 2) E - Ann and Half-Palindrome(字典树+dp)
E. Ann and Half-Palindrome time limit per test 1.5 seconds memory limit per test 512 megabytes input standard input output standard output Tomorrow Ann takes the hardest原创 2015-07-08 13:18:30 · 1089 阅读 · 0 评论