- 2
- 0
- 约小于1千字
- 约 14页
- 2019-10-23 发布于天津
- 举报
* * 半平面求交及相关 吴斌星 线性规划 这个大家都知道 其实线性规划就是半平面求交 由n个形如ax+by+c=0的不等式确定的半平面,求其交集区域 容易知道该区域是至多n边的凸多边形 当然前提是在一个有限范围内,如果题目要求无限范围,你只要自己定一个足够大的有限范围即可 朴素算法 初始设区域A为整个平面 一次用给定不等式对应的直线切割A 所有直线切割完毕后得到最终的交集 复杂度O(n2) 如果要求每增加一个不等式都要输出一次A,该算法是最优的 分治算法 如果可以在O(n+m)的时间里求出一个n条边的凸多边形和一个m条边的凸多边形的交集,那么就可以吧半平面求交的问题分治为两个相当的小问题,然后再合并结果 那么时间复杂度变为O(nlogn) 两个凸多边形的交 根据这个思想,我们分别求出凸多边形的上方边界和下方边界,合起来就是一个凸多边形 由于最多分成n+m个区域,所以求这些梯形的交用时O(n+m) 在求顶点的x坐标顺序时,可以使用归并排序的思想,用时O(n+m) 总用时O(n+m) 经典问题一 已知一个多边形 求其中是否存在一个点,能看到整个多边形 经典问题一 首先,能够看到所有边的点必然能看到整个多边形 假设多边形的顶点按逆时针方向给出V0V1V2……Vn,V0= Vn。能看到边ViVi+1的点Qi必然满足QiVi× QiVi+1=0(指两个向量叉乘),事实上此时Qi的解集是
原创力文档

文档评论(0)