凸包
morejarphone
这个作者很懒,什么都没留下…
展开
-
UVA 10256 (计算几何 凸包)
特判一下凸包的退化情况就行了。#include #include #include #include #include using namespace std;typedef unsigned long long ll;#define maxn 511#define pi acos (-1)#define rotate Rotateconst double eps = 1原创 2015-11-11 00:04:24 · 465 阅读 · 0 评论 -
Lightoj 1239 (平面几何 凸包)
题目链接:点击这里题意:给出n个点, 要围成一个围栏, 围栏必须是凸的而且距离最近的点不能小于d. 求围栏周长的最小值.显然是求出凸包以后凸包周长加上d为半径的圆周长就行了.#include <bits/stdc++.h>using namespace std;const double eps = 1e-8;const double INF = 1e20;const double pi = a原创 2016-06-21 16:34:33 · 291 阅读 · 0 评论 -
Lightoj 1203 (计算几何 凸包)
题目链接:点击这里题意:平面上有n个点, 求某一个点使得从这个点出发看遍所有的点的旋转角最小.求一次凸包之后答案就是凸包上的最小角, 扫一遍就好了. 计算角度的时候精度要求很高, 正好验一发板子.#include <bits/stdc++.h>using namespace std;const double eps = 1e-8;const double INF = 1e20;const do原创 2016-06-20 23:28:38 · 508 阅读 · 0 评论 -
UVALive 4728 (凸包 旋转卡壳)
板子题 每个正方形加进去4个点。#include #include #include #include #include using namespace std;typedef unsigned long long ll;#define maxn 411111#define pi acos (-1)#define rotate Rotateconst double eps原创 2015-11-11 10:28:45 · 391 阅读 · 0 评论 -
HDU 4946 (凸包)
题意是有n个人,每个人有一个坐标和速度,平面上如果的点如果他到达的时间严格的比其他任何人都快,那么这个点就属于他管辖。问每个人的管辖区域是不是无穷大。显然对于两个速度不同的人,速度小的人就不可能是无穷大。所以只需要找出速度最大的所有的人。先求出凸包,凸包的顶点是无穷大,然后找到所有凸包边上的点,这些点也可能是无穷大。然后暴力枚举所有的速度最大的点,如果和目前认为是无穷大的点重合,显原创 2015-11-12 11:39:09 · 289 阅读 · 0 评论 -
POJ 1228 (计算几何 凸包)
题意是给你n个点,问它们构成的凸包能不能扩大了。板子题,暴力枚举凸包每条边,只要每条边上都有点(不包含端点),那么这个凸包就不能扩大,否则肯定能扩大。特判1个点和2个点的凸包。#include #include #include #include #include using namespace std;typedef unsigned long long ll;#defin原创 2015-11-12 11:00:51 · 355 阅读 · 0 评论 -
POJ 3348 (凸包)
题意是求凸包的面积。没什么坑, 板子题#include #include #include #include #include using namespace std;typedef unsigned long long ll;#define maxn 51111#define pi acos (-1)#define rotate Rotateconst double原创 2015-11-11 13:30:56 · 370 阅读 · 0 评论 -
HDU 1392 (计算几何 凸包)
题意是给你n个点求凸包的周长。坑点是当凸包上的点只有两个的时候只要求一条线段的长度。#include #include #include #include #include using namespace std;typedef unsigned long long ll;#define maxn 51111#define pi acos (-1)#define rota原创 2015-11-11 11:38:59 · 405 阅读 · 0 评论 -
UVA 10652 (计算几何 凸包)
板子题。#include #include #include #include #include using namespace std;typedef unsigned long long ll;#define maxn 111111#define pi acos (-1)#define rotate Rotatestruct point { double x,原创 2015-11-10 18:36:54 · 279 阅读 · 0 评论 -
UVA 11168 (计算几何 凸包)
坑点是凸包的点只有2个的情况。#include #include #include #include #include using namespace std;typedef unsigned long long ll;#define maxn 111111#define pi acos (-1)#define rotate Rotateconst double eps原创 2015-11-10 20:24:02 · 357 阅读 · 0 评论 -
HDU 1348 (凸包)
题意是求凸包的周长加上一个半径为l的圆周长。板子题。#include using namespace std;typedef unsigned long long ll;#define maxn 1111#define pi acos (-1)struct point { double x, y; point (double _x = 0, double _y =原创 2015-11-10 17:48:55 · 253 阅读 · 0 评论 -
JAG2016 (凸包)
题目连接:点击这里题意:给出n个点,用一条x=ix=i将点分成≤i\leq i和>i>i,求两边凸包面积和的最小值。先把点按照x,y值排序,然后从左往右维护一个上凸壳和下凸壳的面积即可。因为有同一竖线上的多点情况,所以在计算某条竖线左侧的凸包面积的时候还要加上由竖线最上面的点,竖线最下面的点和最左边的起点构成的三角形的面积。从右往左维护也类似的维护凸壳面积。trick:用叉积计算面积的两倍来避免精度原创 2016-10-06 01:12:27 · 342 阅读 · 0 评论