分析:直接求出凸包,再算边长即可。另外只有一个点时为0.00单独处理,两个点直接为距离也单独处理。
#include
#include
#include
using namespace std;
struct Point
{
Point(){}
Point(double _x,double _y):x(_x),y(_y){}
Point operator-(const Point& a)...
分类:
其他好文 时间:
2015-06-09 17:12:49
阅读次数:
114
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1007解:直线的上表面一定是一个下凹的形状,那么按斜率排序后维护凸包即可。注意将斜率相同的直线特判一下,取B值大的 1 /* 2 * Problem: 3 * Author: SHJ...
分类:
其他好文 时间:
2015-06-09 16:19:39
阅读次数:
108
一遇到数学题和计算几何题我就要调半天……玛雅,我真是太弱了……基本思路很简单,先上凸包,然后矩形与凸包一边重合,然后旋转卡壳即可然而我没怎么写过计算几何题,一开始写的各种囧,后来看了hzwer的写法才写得正常一些一开始写囧,是找矩形的左右边界,用勾股定理算的,囧得不行;后来发现可以用点积来判断,点积...
分类:
其他好文 时间:
2015-06-04 20:49:00
阅读次数:
130
假设逆时针时针分别为ABCDE判断能组成五角星 等价于凸包的点还是这5个点然后答案=S(ACE)+S(ABE)-S(ABE)就结束了。 1 #include 2 #include 3 #include 4 #include 5 #include 6 #include 7 #include 8 #in...
分类:
其他好文 时间:
2015-06-04 00:47:00
阅读次数:
187
这是一个模板水题。。但是对于我来说却是第一道计算几何题,考场上写了两个小时终于写了出来,但是却因为最大值清错了挂掉了。真是蛋痛。
最小面积矩形至少有一边与凸包的一边重合,这个结论我第一感觉是对的。。但是当我屡WA不止时,我便渐渐开始怀疑它的正确性,然后发现我并不会证它。。
看了题解以后,发现还是很厉害的。
我们考虑如果把矩形卡住的是在矩形四条边上且不与端点重合的四个点,如图所示。那么我们分...
分类:
其他好文 时间:
2015-06-03 21:45:55
阅读次数:
211
题意:n*4个点,求覆盖所有点的最小矩形面积;思路:凸包+旋转卡壳,uva10173几乎原题,暂时没写出来,贴一下斌神的码,待补;#include #include #include #include #include #include #include #include #include #inc...
分类:
其他好文 时间:
2015-05-31 01:21:43
阅读次数:
226
今天焊收音机,没来得及做题目出的还是比较有搞头的,也很有意思首先第一题,没想法然后看了一下正确率最高的题求包围所有点的最小矩形,显然是个凸包问题,很久没写过几何,直接找了个模板套了一下hdu 5251题解然后照着校友的顺序开始做题,二分无误,就是少了个零,wa了好多发,明天第二场一定要先开个小号hd...
分类:
其他好文 时间:
2015-05-31 01:19:38
阅读次数:
92
题意:建围墙将n个点围起来,围墙与点的距离不小于L,求围墙长度;思路:凸包周长+L为半径的圆周长;凸包即为覆盖一个点集所有点的最小区域;#include#include#include#includeusing namespace std;const double epsi=1e-10;const ...
分类:
其他好文 时间:
2015-05-31 01:17:23
阅读次数:
127
这里先介绍点概念(一般是点集覆盖问题)输入各个点的坐标1. 将各点排序(必须的) ,为保证形成圈,把 P0 在次放在点表的尾部;2. 准备堆栈:建立堆栈 S,栈指针设为t,将0、1、2 三个点压入堆栈 S;3. 对于下一个点 i 只要 S[t-1]、S[t]、i不做左转 就反复...
分类:
其他好文 时间:
2015-05-30 22:32:41
阅读次数:
180
题目链接: http://acm.swust.edu.cn/problem/0249/麦兜是个淘气的孩子。一天,他在玩钢笔的时候把墨水洒在了白色的墙上。再过一会,麦兜妈就要回来了,麦兜为了不让妈妈知道这件事情,就想用一个白色的凸多边形把墙上的墨点盖住。你能告诉麦兜最小需要面积多大的凸多边形才能把这....
分类:
其他好文 时间:
2015-05-30 22:23:21
阅读次数:
125