![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
凸包
文章平均质量分 78
冷月残星
这个作者很懒,什么都没留下…
展开
-
凸包,多边形面积(包装木板,uva 10652)
模板题代码#includeusing namespace std;const int maxn = 2500;struct Point{ double x,y; Point(double x=0,double y=0):x(x),y(y){} bool operator < (const Point& rhs) const {原创 2017-01-30 16:05:58 · 263 阅读 · 0 评论 -
凸包,点到直线距离(飞机场,uva 11168)
大白书又没说清楚,明明找的是平均距离,却说是距离和。。。关于debug,考虑极端数据。然后我用的是O(n^2)的算法,太糟糕了。想要算法高效,思路大致都是通过维护某些量或者预处理一些值或者利用公式将某一重循环省掉,但可能需要付出额外的代价,往往是将某个O(n)降为O(longn)或O(1)。至于该如何去发现这些优化点,我想自己应该多关注那些看上去很邋遢的循环,然后找到待求量的特原创 2017-01-30 17:26:16 · 406 阅读 · 0 评论 -
判断凸包相离(点集划分,uva 10256)
如何判断两个凸包是否相离呢?需要检查(1)两个凸包上的线段是否彼此相交,如果线段彼此相交,那么就一定不相离。(说明边界有公共部分)(2)任意一个点是否在另一个凸包内,如果找到了那么一个点在另一个凸包内,那么就一定不相离。(说明内部有公共部分)(3)对于退化成点和线段的凸包要特殊判断。代码#includeusing namespace std;const int原创 2017-01-30 22:07:36 · 733 阅读 · 0 评论 -
旋转卡壳,凸包直径(正方形,LA 4728)
学会了旋转卡壳算法,自己实现的,可以整理成模板。妈蛋WA了,然后自己带了几个简单数据也没找到错误,最后发现原来是点乘都写错了,Rotate都忘记带acos,叉乘正负都搞反了。。。只能说这种模板或公式写错或抄错好糟糕,然后自己带的样例也太简单,太特殊,所以甚至连这么大的bug都查不出来。有时候如果带数据找不出错的话,可以尝试仔细审阅一遍代码,审阅时时偏重检查细节实现。或者单步调试也可以,哪怕原创 2017-01-31 14:18:55 · 382 阅读 · 0 评论