码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-02-02 01:20:45      阅读:68      评论:0      收藏:0      [点我收藏+]

标签:info   不等式   动态   长度   img   包含   理解   时间复杂度   alt   

技术图片

 

 给出伪代码:(可以看出时间复杂度为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)

 

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

标签:info   不等式   动态   长度   img   包含   理解   时间复杂度   alt   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!