======计算几何=====
文章平均质量分 82
九野的博客
这个作者很懒,什么都没留下…
展开
-
FOJ 2148 给定的二维坐标 能构成的凸四边形数
题意:求给定的二维坐标能构成的凸四边形数思路:我们可以得到一个结论:当且仅当四边形为凸四边形时,对角线能相交 -> 若四边形存在线段相交就是凸四边形 #include#include#include#include#includeusing namespace std;typedef long long ll;#define ST 1001原创 2013-12-22 20:46:11 · 2258 阅读 · 0 评论 -
UVA 11769 All Souls Night 三维凸包求表面积
题目链接:点击打开链接求给定的3维坐标的凸包的表面积三维凸包裸题。。#include #include #include #include #include #include #include using namespace std;#define PR 1e-8#define N 510struct TPoint{ double x, y, z; TPoint原创 2014-07-29 00:31:31 · 1615 阅读 · 1 评论 -
三维凸包模版 求三维凸包的表面积和体积
#include #include #include #include #include #include #include using namespace std; #define PR 1e-8 #define N 510 struct TPoint{ double x, y, z; TPoint(){}原创 2014-07-30 17:47:31 · 2970 阅读 · 1 评论 -
HDU 4946 Area of Mushroom 共线凸包
题意是在二维平面上给定n个人每个人的坐标和移动速度v若对于某个点,只有 x 能最先到达(即没有人能比x先到这个点或者同时到这个点)则这个点称作被x占有若有人能占有无穷大的面积 则输出1 ,否则输出0思路:1、把所有点按速度排个序,然后把不是最大速度的点去掉剩下的点才有可能是占有无穷大的面积2、给速度最大的点做个凸包,则只有在凸包上的点才有可能占有无穷大原创 2014-08-14 17:49:47 · 1555 阅读 · 0 评论 -
HDU 4998 Rotate 计算几何 2014 ACM/ICPC Asia Regional Anshan Online
HDU 4998 Rotate 计算几何 2014 ACM/ICPC Asia Regional Anshan Online题意:有一个平面放在一个二维坐标轴上给定n个操作(x,y) p表示把平面绕着(x,y) 逆时针转p弧度。最后的结果相当于平面绕着(X, Y) 逆时针旋转了P弧度。求:X,Y,P#include #include #include #include #include typedef long long ll;using namespace std;const原创 2014-09-13 17:23:35 · 2371 阅读 · 0 评论 -
Codeforces 474C Captain Marmot 给定4个点和各自旋转中心 问旋转成正方形的次数
题目链接:点击打开链接题意:给定T表示case数下面4行是一个case每行2个点,u v每次u可以绕着v逆时针转90°问最少操作多少次使得4个u构成一个正方形。思路:枚举判可行#include #include #include #include using namespace std;int hah,ijj;int haif原创 2014-10-07 15:16:35 · 1612 阅读 · 0 评论 -
HDU 4380 Farmer Greedy 计算几何+bitset
枚举直线,对于直线的某个点在直线的左端还是右端,可以状压出一个数,用bitset记录。然后三角形就是3个bitset&一下#include #include #include #include using namespace std;typedef long long ll;const int N = 101;const int M = 1005;bitset b1原创 2014-11-09 23:35:04 · 1316 阅读 · 0 评论 -
UVALive 5102 Fermat Point in Quadrangle 极角排序+找距离二维坐标4个点最近的点
题目链接:点击打开链接题意:给定二维坐标上的4个点问:找一个点使得这个点距离4个点的距离和最小输出距离和。思路:若4个点不是凸4边形。则一定是端点最优。否则就是2条对角线的交点最优,可以简单证明一下。对于凸4边形则先极角排序一下。#include #include #include #include using namespace std;type原创 2014-11-11 00:09:41 · 1963 阅读 · 0 评论 -
UVA 12386 Smallest Polygon n个点的任意多边形求最小周长 科学的暴力
题目链接:题意:给定n个点,用n个点组成的多边形中(可以是凹多边形,但n个点一定要全在多边形上)在所有能由n个点构成的多边形中求最小面积的多边形的周长 - 最小周长。思路:首先我们选择一个定点,则接下来的数进行一个排列,有(n-1)!个排列。这个序列相邻两个数之间有一条线段。判断多边形合法:任意两条线段不相交即可。n^2剩下就是简单的更新答案了。所以复杂度是原创 2014-12-07 00:36:20 · 3290 阅读 · 1 评论 -
UVALive 6092 Catching Shade in Flatland 线段被多个不相交圆截取的长度和
题目链接:点击打开链接题意:给定n个圆下面n行给出圆:(x,y,r)且圆都在矩阵 [-200, -200] - [200,200] 内有一个太阳,从坐标 [500, 0] 开始沿着圆 (0,0,500) 的弧走。在任意时刻有一个值:太阳和原点连成的线段与所有的圆相交,线段被圆所截得长度和就是这个时刻的值,求24小时内出现的最大的值是多少。原创 2015-03-28 09:54:51 · 1165 阅读 · 0 评论 -
几何题集
一。基础题目1.1 有固定算法的题目A, 最近点对问题最近点对问题的算法基于扫描线算法。ZOJ 2107 Quoit Design 典型最近点对问题POJ 3714 Raid 变种最近点对问题B,最小包围圆最小包围圆的算法是一种增量算法,期望是O(n)。ZOJ 1450 Minimal Circle转载 2013-09-16 11:46:04 · 1941 阅读 · 0 评论 -
两圆相交求面积
转载自 http://blog.sina.com.cn/s/blog_850498e20100w6fq.html假设半径小的圆为c1,半径大的圆为c2。c1的半径r1,圆心坐标(x1,y1)。c2的半径r2,圆心坐标(x2,y2)。d为两圆圆心连线的长度。相交面积为Sd=sqrt((x1-x2)^2+(y1-y2)^2)(1)如果r1+r2那么两圆相离,相交面积转载 2013-08-10 22:02:37 · 7671 阅读 · 0 评论 -
Codeforces 8D Two Friends 三分+二分+计算几何
题目链接:点击打开链接题意:点击打开链接三分house到shop的距离,二分这条斜边到cinema的距离#include#include#include#include#include#include#include#include#includeusing namespace std;#define ll int#define N 90#define原创 2014-06-25 00:07:02 · 1807 阅读 · 0 评论 -
Codeforces 429D Tricky Function 最近点对
题目链接:点击打开链接暴力出奇迹。正解应该是最近点对,以i点为x轴,sum[i](前缀和)为y轴,求任意两点间的距离。先来个科学的暴力代码:#include#include#include#include#include#includeusing namespace std;#define N 100050#define ll __int64ll a[N], su原创 2014-05-12 15:39:16 · 2058 阅读 · 1 评论 -
CodeForces 23D Tetragon 给定凸四边形3条同边长的中点求4个顶点 计算几何
题目链接:点击打开链接题意: 给定3个二维平面上的点 这3个点是一个凸四边形的其中3个中点 且所在的3条边边长相等问是否存在这样的四边形,若存在则输出四边形顶点 思路: 那个外面的点是一个中点关于另一个中点对称得到的 然后得到一个圆的2条弦,圆心就是4个顶点之一,剩下对称出来即可#include #in原创 2014-07-02 19:56:04 · 1673 阅读 · 0 评论 -
URAL 1750 Pakhom and the Gully 计算几何+floyd
题目链接:点击打开链接gg。。。#pragma comment(linker, "/STACK:1024000000,1024000000")#include #include #include #include #include #include #include using namespace std;#define ll int#define point Poin原创 2014-07-24 11:53:56 · 1330 阅读 · 0 评论 -
计算几何模版
好模版要收藏#include #include #include #include #include using namespace std;const double EPS = 1e-9;const int MAXN = 40;struct Point3 //空间点{ double x, y, z; Point3( dou原创 2013-09-16 10:10:01 · 1815 阅读 · 0 评论 -
POJ 1556 计算几何+最短路
#include#include#include#include#include#include#include#include#include#include#include#include#define N 1050#define ST 1001#define EN 1002#define M 10000#define inf 1原创 2013-09-20 12:02:51 · 2153 阅读 · 0 评论 -
Codeforces 50C Happy Farm 5 凸包
题目链接:点击打开链接== 难得的y出了一道计算几何#include #include #include #include #include using namespace std;#define INF 999999999.9#define PI acos(-1.0)#define ll long longstruct Point{ ll x, y,原创 2014-07-27 14:38:46 · 1793 阅读 · 0 评论 -
九野的计算几何模版
#include#include#include#include#includeusing namespace std;#define point Pointconst double eps = 1e-8;const double PI = acos(-1.0);double ABS(double x){return x>0?x:-x;}int sgn(double x){原创 2014-07-09 16:27:11 · 1576 阅读 · 0 评论 -
Codeforces 32E Hide-and-Seek 求2点关于镜面反射 计算几何
题目链接:点击打开链接需要注意的是镜子在与2个人共线时是不作为障碍物,但其他情况与墙一致#include#include#include#include#includeusing namespace std;#define point Pointconst double eps = 1e-8;const double PI = acos(-1.0);double ABS(原创 2014-07-09 16:33:33 · 1446 阅读 · 0 评论 -
戴牛一万行的几何模板
#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#i转载 2014-06-27 16:13:37 · 1599 阅读 · 3 评论 -
codeforces 394E Lightbulb for Minister 简单几何
题目链接:点我点我 题意:给定n个点。下面n行给出这n个点坐标。 给定m个点,下面m行给出这m个点坐标。 这m个点是一个凸包,顺时针给出的。 问:在凸包上任意找一个点(x, y) 使得这个点距离n个点的距离平方和最小。 问这个最小的距离平方和是多少。思路: 首先化简一下公式,把变量(x,y)提出来会发现是一个简单的函数,且开口向上,所以有唯一解,解出这个(x,y) 记为 (good_x,原创 2015-07-05 13:51:45 · 1383 阅读 · 0 评论