首页 > 其他 > 详细

动态规划之四边形不等式优化

时间:2020-02-02 00:59:49      阅读:112      评论:0      收藏:0      [点我收藏+]

技术分享图片

 

 给出伪代码:(可以看出时间复杂度为O(n^3))

1 for(int len=1;len<=n;len++){///len为区间长度
2     for(int l=1;l<=n-len+1;l++){
3         int r=l+len-1;
4         for(int k=l;k<r;k++){
5             m[l][r]=min(m[l][r],m[l][k]+m[k+1][r]+w[l][r]);
6         }
7     }
8 }

以下介绍两个名词:区间包含的单调性:如果对于i≤i‘< j≤j‘,有w(i‘,j)≤w(i,j‘),那么说明w具有区间包含的单调性。

        四边形不等式:如果对于i≤i‘< j≤j‘,有w(i,j)+w(i‘,j‘)≤w(i‘,j)+w(i,j‘),我们称函数w满足四边形不等式。

附图理解四边形不等式:

技术分享图片

 

 蓝线长和<=红线长和

 

以下介绍两个定理:定理一:如果上述的w函数同时满足区间包含单调性和四边形不等式性质,那么函数m也满足四边形不等式性质。

技术分享图片

 

 定理二:

 

技术分享图片

 

结论:

 

技术分享图片

 

 时间复杂度变为O(n^2)

 

动态规划之四边形不等式优化

原文:https://www.cnblogs.com/wsy107316/p/12250753.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!