(DP) 关于最优三角剖分】的更多相关文章

https://www.cnblogs.com/Konjakmoyu/p/4905563.html 这个人写的好 最优三角剖分的核心思想: 确定决策顺序. 有时一个解可以用许多决策顺序得出, 这时候我们就要确定最方便处理问题的决策顺序. 之前我做过的一道题https://www.cnblogs.com/Eroad/p/9580548.html也是基于这种思想…
最近在练习DP专题,学会了很多表示方法和转换方法,今天做最优三角剖分的时候发现脑子卡了,不会表示状态,于是写个博客记录一下. 最优三角剖分的一类题目都是差不多的.给你一个多边形,让你把它分割成若干个三角形,求三角形某最优解,比如UVA1331要求面积最大的三角形的面积最小.如图是各种切割方法: 不知道一开始看到最大值最小化会不会又一下子想到枚举答案二分去了呢,不过本题正解是DP. 然而,这题最难的地方不是推出递推方程,而是表示状态.因为如果允许随意切割,则“半成品”多边形的各个定点是可以在原多边…
假设顶点的总数为n,从0到n-1. 从序号为0的顶点开始以逆时针方向排序,对于 令子问题A[i,j]为包含顶点i,i+1, . . . j的凸多边形的最小三角剖分代价,dist(i,j)为顶点i到顶点j的距离.对于子问题A[i,j],考虑边e(i,j)最终会在某个三角形内,为了找出这个三角形,计算i到j之间的每个顶点k与i和j围成的三角形的对角线的和的最小值即为A[i,j],找出对角线和的最小值所对应的k,再继续查找A[i,k],A[k,j],直到多边形不能再划分为止,因此的到递推式 packa…
题目链接 把一个多边形剖分成若干个三角形,使得其中最大的三角形面积最小. 比较经典的一道dp问题 设dp[l][r]为把多边形[l,r]剖分成三角形的最大三角形面积中的最小值,则$dp[l][r]=min\{dp[l][i]+dp[i][r]+area(l,i,r)\}$ 注意: 1.由于多边形的点不一定按顺时针或者逆时针排列,需要按点的顺序计算一遍多边形的面积,如果为负说明是顺时针排列,需要反转一下. 2.进行剖分的时候有可能会“出界”,但无需进行线段相交判断,只需在计算的面积出现负数时返回i…
Description You want to hold a party. Here's a polygon-shaped cake on the table. You'd like to cut the cake into several triangle-shaped parts for the invited comers. You have a knife to cut. The trace of each cut is a line segment, whose two endpoin…
题目大意:依照顺时针或者逆时针的顺序给出多边的点,要将这个多边形分解成n-2个三角形,要求使得这些三角行中面积最大的三角形面积尽量小,求最小值. 思路:用区间DP能够非常方便解决,多边形可能是凹边形,注意剖分的三角形必须在多边形内部,所以能够去掉剖分的三角形中包括其它点,可是其它的在多边形外部的三角形没想到其它方法去除.却ac了,不懂为何 // Accepted C++ 0.042 #include<cstdio> #include<iostream> #include<al…
4th IIUC Inter-University Programming Contest, 2005 G Forming Quiz Teams Input: standard input Output: standard output Problemsetter: Sohel Hafiz You have been given the job of forming the quiz teams for the next ‘MCA CPCI Quiz Championship’. There a…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4283 题目大意:有一群屌丝,每个屌丝有个屌丝值,如果他第K个上场,屌丝值就为a[i]*(k-1),通过一个小黑屋(可以认为是栈)来调整,使得最后总屌丝值最小.解题思路:题目可以理解为给你一个栈,然后让你安排出栈入栈顺序,使得总的屌丝值最小,区间DP,设dp[i][j]为使区间[i,j]屌丝全部上阵的最小屌丝值之和,不考虑[i,j]外的花费,sum[i]为1~i的屌丝值前缀和.于是得到状态转移方程:d…
题目 给定一具有N个顶点(从1到N编号)的凸多边形,每个顶点的权均已知.问如何把这个凸多边形划分成N-2个互不相交的三角形,使得这些三角形顶点的权的乘积之和最小? 输入 第一行 顶点数N(N<50). 第二行 N个顶点(从1到N)的权值,权值为小于32768的整数. 输出 第一行为各三角形顶点的权的乘积之和最小值. 样例 样例输入 5 121 122 123 245 231 样例输出 12214884 思路 我们可以假设某个三角形在最优解的情况下,那么在遍历长度的情况下,枚举左端点,从而推出右端…
[动态规划]凸多边形最优三角剖分 枚举三角行,再递归三角形旁边的两个多边形.…