dp:最优三角剖分

这篇博客探讨了如何找到一个凸8边形的最优三角剖分,使得所有三角形权重之和最小。通过定义dp(i, j)表示从顶点i到顶点j的最优权值,分别讨论了i=j、j=i+1和j>i+1三种情况,建立了递归表达式,并解释了最终答案需要加上所有弦的权重之和。" 117878493,8753399,boost::mpl unpack_args测试程序实现,"['C++编程', '模板元编程', 'boost库']
摘要由CSDN通过智能技术生成

一凸 8 边形 P 的顶点顺时针为{v 1 , v 2 , … , v 8 },任意两顶点间的线段的权重由矩阵 D 给出。若 v i 与 v j 是 P 上不相邻的两个顶点,则线段 v i v j 称为 P 的一条弦。求 P 的一个弦的集合 T,使得 T 中所有的弦恰好将 P 分割成互不重迭的三角形,且各三角形的权重之和为最小(一个三角形的权重是其各边的权重之和)。

本题,我们设dp(i, j)表示从顶点i到顶点j对应的最优权值为dp(i, j),那么可以分为以下三种情况

(1)i == j

此时顶点i和顶点j重合,根本就没有边,所以权值为0

(2)j = i + 1
这种情况顶点i和顶点j相邻,因此也最优权值应当为顶点i和顶点j之间的权重,即w(i, j)

(3)j > i + 1

这种情况说明顶点i和顶点j之间还有其他顶点k,k的范围应该是i < k < j,那么应该将问题拆成两个递归子问题,一部分是顶点i到顶点k的最优权重,另一部分是顶点k到顶点j的最优权重,别

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值