凸多边形最优三角剖分
来源:互联网 发布:小学生领结淘宝 编辑:程序博客网 时间:2024/05/01 10:13
和矩阵连乘类似。。。
#include<iostream> #include<string.h> using namespace std; #define N 6 #define INF 99999999 int m[N][N],s[N][N]; int weight[][6] = {{0,2,2,3,1,4},{2,0,1,5,2,3},{2,1,0,2,1,4},{3,5,2,0,6,2},{1,2,1,6,0,1},{4,3,4,2,1,0}};int get_weight(const int a, const int b, const int c){ return weight[a][b] + weight[b][c] + weight[c][a];}void back_track(int a, int b){ if (a == b) return; back_track(a,s[a][b]); back_track(s[a][b]+1,b); //记得这是要加一 cout<<"最优三角:V"<<a-1<<" V"<<s[a][b]<<" V"<<b<<endl;}int main() { memset(m,0,sizeof(m)); memset(s,0,sizeof(s)); int i,j,k,l; for(l=2;l<N;++l) { for(i=1;i<=N-l+1;++i) { j=i+l-1; m[i][j]=INF; for(k=i;k<=j-1;++k) { int q=m[i][k]+m[k+1][j]+get_weight(i-1,k,j); if(q<m[i][j]) { m[i][j]=q; s[i][j]=k; } } } } cout<<m[1][N-1]<<endl;cout<<endl; back_track(1,5); }
0 0
- 凸多边形最优三角剖分
- 凸多边形最优三角剖分
- 凸多边形最优三角剖分
- 凸多边形最优三角剖分
- 凸多边形最优三角剖分
- 凸多边形最优三角剖分
- 凸多边形最优三角剖分问题
- 凸多边形的最优三角剖分问题
- 【动态规划】凸多边形最优三角剖分
- 动态规划--凸多边形最优三角剖分
- 凸多边形最优三角剖分-动态规划
- 动态规划--凸多边形最优三角剖分
- 凸多边形最优三角剖分(polygon decomposition)
- 凸多边形的最优三角剖分
- 凸多边形最优三角剖分——动态规划
- —【动态规划】凸多边形最优三角剖分
- 动态规划-凸多边形最优三角剖分问题
- 动态规划---凸多边形的最优三角剖分问题
- 关于C++中enum的探讨
- C++第17周项目4 数组用于进制转换
- hadoop Secondary NameNode作用
- 五款免费pdf转换成word软件下载
- 今天该休息啦
- 凸多边形最优三角剖分
- redis和memcache的对比
- WINDOWS 下安装HADOOP(2)
- ZOJ-1926
- C语言实现对英文文章的单词统计
- linux下添加 五笔输入法
- c++中define与inline的一些注意事项
- 我的小帅哥
- 假设一个硬币抛出正面和反面的概率相等,那么,抛10次出现5次正面和5次反面的概率为p,和抛出100次中出现50次正面和50次反面的概率q,哪个值更大?为什么?