凸多边形三角划分

原创 2012年03月25日 22:00:34

1 动态规划转移方程

设 F[I,J](I<J)表示从顶点 I 到顶点 J 的凸多边形三角剖分后所得到的最大乘积

F[I,J]=Min{F[I,K]+F[K,J]+S[I]*S[J]*S[K]}     (I<K<J)
目标状态为:F[1,N]

2 代码

#include <stdio.h>
#define N 52
#define MAX 999999999
int c[N][N];
int s[N];
int main()
{
	int i,j,k;
	int n;
    scanf("%d",&n);
    for( i=1;i<=n;i++)
         scanf("%d",&s[i]);


	for (i = 1; i <= n; ++i)
	{
		c[i][i+1] = 0;
		for (j = i + 2; j <=n; ++j)
		{
			c[i][j] = MAX;
		}
	}
	for (i = n - 2; i >= 1; --i)
	{
		for (j = i + 2; j <=n; ++j)
		{
			for (k = i + 1; k < j; ++k)
			{
				if (c[i][j] > c[i][k] + c[k][j] + s[i]*s[j]*s[k])
				{
					c[i][j] = c[i][k] + c[k][j] + s[i]*s[j]*s[k];
				}
			}
		}
	}
	printf("%d\n",c[1][n]);
	return 0;
}

凸多边形的三角划分的C实现

  • 2013年11月29日 14:43
  • 2KB
  • 下载

凸多边形的最优三角划分(java)

  • 2015年05月21日 17:20
  • 100KB
  • 下载

凸多边形三角划分 catelan数

凸多边形三角划分 在一个凸多边形中,通过若干条互不相交的对角线,把这个多边形划分成了若干个三角形。任务是键盘上输入凸多边形的边数n,求不同划分的方案数f(n)。比如当n=6时,f(6)=14...
  • update7
  • update7
  • 2017年03月13日 18:28
  • 1326

点数据外包凸多边形三角化

  • 2013年07月25日 11:19
  • 52KB
  • 下载

凸多边形的最优三角剖分

  • 2010年09月15日 02:19
  • 280B
  • 下载

凸多边形最优三角剖分——动态规划

解答:题目中顶点坐标编号从1开始,为了方便编程,将顶点从0开始,顶点的编号变为0到7。定义t[i][j],0= 由于退化的两点多边形{Vi,Vi+1}的权值为0,t[i][i]=0。最优子结构的...

凸多边形的三角剖分

  • 2008年06月20日 23:56
  • 14KB
  • 下载

—【动态规划】凸多边形最优三角剖分

0014算法笔记——【动态规划】凸多边形最优三角剖分 分类: 算法2013-03-05 20:10 612人阅读 评论(0) 收藏 举报 三角剖分凸多边形最优解动态规划算法笔记 ...
  • pi9nc
  • pi9nc
  • 2013年08月04日 21:15
  • 10128

凸多边形最优三角剖分的两种算法分析

使用了两种动态规划算法处理凸多边形最优三角剖分问题,算法1直观,算法2 简洁。...

SMU 1106 - 凸多边形的最优三角剖分问题(区间DP)

【题意】题目链接http://218.5.241.13:8060/oj/showProblem.jsp?pid=1106
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:凸多边形三角划分
举报原因:
原因补充:

(最多只允许输入30个字)