半平面交的模板O(n^2)在http://www.cnblogs.com/wuyiqi/archive/2012/03/30/2426175.html题意:判断在一个正方形上切出题目要求的凸多边形的最短切痕总和总共才8条边,数据规模不大,时限10s,直接暴力枚举切割的顺序,然后计算这是我第一次接触平面切割,也可以算是处女割了吧,呵呵View Code #include <cmath>#include <cstdio>#include<algorithm>using namespace std;const int maxn = 100;const double Read More
posted @ 2012-03-30 23:19 Because Of You Views(482) Comments(0) Diggs(0) Edit
今天学了学半平面交,其实很简单的,我说的是最原始的思想,复杂度是O(n^2)的相当于中学的时候学的线性规划,用n条直线去切割一个平面,每条直线代表一定的限制,最后如果有解就会在中间留下一个凸核这个凸核中的点就是满足所有的约束条件的解集典型的例子 :给你一个多边形,判断多边形内是否存在一个点,从这个点可以看到多边形周围所有的点做法:多边形的每条边都是一个约束条件,边的顺序为顺时针用每条边的直线去切割当前平面:枚举平面点集中的点,假如当前点(p)在核外,判断p-1与p+1是不是在核内,如果是,则肯定有交点分别把求出的交点加入点集不断重复的做下去最后点集中的点就是要求的的可行解下面是我的模板,自己看 Read More
posted @ 2012-03-30 23:09 Because Of You Views(1538) Comments(0) Diggs(1) Edit