★-----------计算几何-----------
文章平均质量分 71
yuhong_liu
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #313 (Div. 2)-Gerald's Hexagon 找规律-几何规律-
给出六边形的6条边,问可以分割成多少个边长为1的正三角形,,一直以为 六边形 的1 3 5边是相同的,。。。wa半天。。最后发现居然可以不同的。。。等角六边形可以是 6个角相等为120度,但是边长不同 。。例如一个正三角形,,每个角切一部分就可以得到,要计算边长为1的三角形个数,只需要用 六边形面积除去 小三角形面积即可,而六边形面积可通过补全 这个六边形得到。 以一条边为底边原创 2015-08-16 15:04:23 · 390 阅读 · 0 评论 -
HDU 4273-G - Rescue-三维凸包求重心
...求个凸包重,然后求重心到各个面的最短距离// LA4589 Asteroids// Rujia Liu#include#includeusing namespace std;const double eps = 1e-8;int dcmp(double x) { if(fabs(x) < eps) return 0; else return x < 0 ? -1 : 1;原创 2016-07-21 20:23:19 · 311 阅读 · 0 评论 -
HDU 5738-计算几何-统计共线的子集个数
http://acm.hdu.edu.cn/showproblem.php?pid=5738n=1000给n个点,求每一条线上的子集个数,如果不考虑重点,直接暴力枚举出所有的线,C(point_num,2)就是该线的答案。但是这题有重点,所以要把重点的缩起来,要保证重点里的子集只被计算一次。那么对于普遍情况就是,给一条线,我们这条线的附着点是X,则X有可能是重点,设数量原创 2016-07-26 17:58:32 · 474 阅读 · 0 评论 -
ZOJ 2419-- Triangle-凸包+旋转卡壳求最大面积三角形(计算几何)
http://acm.hust.edu.cn/vjudge/problem/visitOriginUrl.action?id=40259题意 给n个点,求出面积最大的三角形面积显然 三点落在凸包上。nlogn找凸包。然后 可以证明凸包上的点不超过 sqrt(m),m为坐标系范围,m=1e4所以可以用sqrt(m)*sqrt(m)的方法枚举两个点,然后旋转卡壳原创 2016-05-15 17:46:43 · 1026 阅读 · 0 评论 -
HDU 3629-Convex找凸四边形个数(扫描+二分/two pointers)
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=11713题意:给n个点,无三点共线,求凸四边形个数。对应凸四边形,有着一个 凹四边形,其实凹四边形,就相当于一个三角形,内部包含了一个点,则这样就可以构成一个凹四边形。 内部包含x个点,则x个凹四边形。则题目转化为求有多少个凹四边形,再转为 每个三角形内部有原创 2016-04-08 13:05:23 · 679 阅读 · 0 评论 -
UVA 11529-Strange Tax Calculation-求三角形内点数 /二分/two pointers
http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=18277平面给 n个点,保证没三点共线如果一个三角形内部有x个点,则贡献x,求所有三角形的贡献。直接数每个三角形内的点不好作,可以反过来,求【每个点被多少个三角形包含】枚举每个点x,以该点为中心,把其余的点按极角序排序,那么对于 点j原创 2016-04-08 13:00:23 · 686 阅读 · 0 评论 -
POJ-1039-Pipe-枚举(计算几何)
http://poj.org/problem?id=1039题意:给一根折线管道,有光源从入口发射,问光源最远到达的地方。首先最优的方案肯定是 选择第i部分的上点和第j部分的下点,或上下相反那么直接枚举所有的这样的点对,然后判断这对 点 能否 【与从1到j-1之间的所有竖线相交(竖线:第i部分的上下两点连成的直线)】满足这个条件后,说明光线原创 2016-02-29 11:16:19 · 547 阅读 · 0 评论 -
cf#308-D - Vanya and Triangles-求平面点集中三角形个数-枚举-n^2logn
http://codeforces.com/contest/552/problem/D给n,n个点,求构成的面积非零的三角形个数。。共c(n,3)种,要除去三点共线的即可咯枚举点i ,对所有(j>i)的点 ,求一遍斜率,最后 与点i构成斜率为K的点数有x个,那么便有C(x,2)个共线三角形咯。 全部累加起来最后 被c(n,3)减去就是答案了咯统计斜率部分原创 2016-04-06 12:59:24 · 549 阅读 · 0 评论 -
POJ-1584-A Round Peg in a Ground Hole-计算几何-凸多边形+多边形包含圆
http://poj.org/problem?id=1584题意:顺时针或逆时针的点,让你先判断多边形是否为凸多边形,如果不是输出HOLE IS ILL-FORMED如果是,判断能不能把一个给定大小和位置的圆完全包含if (ok)printf("PEG WILL FIT\n");elseprintf("PEG WILL NOT FIT\n");1原创 2016-02-29 16:15:16 · 707 阅读 · 0 评论 -
cf#339-C - Peter and Snow Blower-简单几何
http://codeforces.com/contest/614/problem/C给出一个n边形,求把多边形 通过一条线,绑在一个点上,绕这个点旋转,所扫过的面积。 (P点一定在多边形外部) 给出n个点端点;直接求出离P最远的一个点,这个点到P的距离就是多边形能扫过的最大圆的半径(外圆)然后求多边形的n-1条边(注意,是线段,不是直线) 到 p点的距原创 2016-01-15 03:53:01 · 1216 阅读 · 0 评论 -
cf#ecr7-D - Optimal Number Permutation-构造+脑洞
给出n,让你用1,2,3,4,....n,1,2,3,....n一共2n个数构造一个序列使得sum . 最小猜测一下要用 di 和n-i越接近越好。。。没想到居然是可以全部完全相等的。。。也就是:1之间要有n-2个数2之间要有n-3个数3之间要有n-4个数...n-1之间要有0个数n由于n-n=0;n之间可以有任意个数;我们先原创 2016-02-14 14:56:52 · 461 阅读 · 0 评论 -
cf#21-B-Intersection-计算几何-求直线交点个数
http://codeforces.com/problemset/problem/21/B 计算几何-给出2条线段求交点个数,AX+BY+C=0,求交点用公式, 需要先判断是否重合,重合输出-1,有一个坑点是,ABC,可能全为0。AB=0时,若C=0,表示所有点集。若C!=0,表示空集,答案一定为0。#include #include #include #in原创 2016-01-30 11:59:15 · 824 阅读 · 0 评论 -
cf#Wunder Fund Round 2016 -C - Constellation-计算几何-水题
http://codeforces.com/contest/618/problem/C给你n个点,保证 不会所有点在一条线上让你找出一个三角形。使得三角形内部+边上没有任何别的点直接按坐标排个序,for遍历连续的三个点作为三角形(必然不会有别的点在此三角形之内)然后判断是否会面积为零,不会即合法,会则跳过#include #include #原创 2016-01-30 11:53:37 · 685 阅读 · 0 评论 -
POJ2187-Beauty Contest- 最远点对问题(凸包+旋转卡壳)
http://poj.org/problem?id=2187题意:给平面上一个点集,求最远两个点的距离平方显然这个最远的点对是在凸包上的,先求出凸包本题n=5e4而凸包的求法有几种,如卷包裹法(复杂度nh,不太合适)或grahamscan算法(nlogn)要注意的是本题中实现是求到 凸包的顶点集,没有包括凸包边上的非端点。。。然后本题直接暴力枚举凸包顶点求最原创 2016-03-01 13:01:13 · 670 阅读 · 0 评论 -
cf#13F - Letter A-计算几何
http://codeforces.com/contest/13/problem/B给出 三个线段的起点,终点让你判断是否组成一个A字母条件如下:1 有两线段同端点,并且第三条线段经过了前两条线段上的点,连接他们2、有共同端点的两线段夹角大于零小于等于90度3。 第三条线段分别把前两条线段截成两部分,要求被截出来的部分必须大于等于所在线段长度1/5,且小于等于4/5原创 2016-01-29 10:11:29 · 499 阅读 · 0 评论 -
POJ2002-Squares-hash+枚举+几何
http://poj.org/problem?id=2002给出n个坐标,让你求出 这n个坐标里包含有多少个正方形,n《1000思路:直接枚举四个点显然TLE,我们可以枚举2个点作为一对顶点点,以公式计算出另外两个点的坐标(逆时针下),然后我们在 输入的所有点里面查找,看这2个点是否存在 。存在正方形个数+1真是数学弱到渣。。。。已知一对顶点,计算正方形另外两个原创 2016-01-16 14:30:35 · 674 阅读 · 0 评论 -
cf#320 Div.2 Problem C A Problem about Polyline
题目要求一个x使得 最后折线通过 点(a,b)显然 b>a时,无解,b==a时,解为b当a>b时,一定存在解;容易得知 如果(a,b)在上斜边上,那么该边与x轴交点为(a-b,0),称为点C如果(a,b)在下斜边上,那么该边与x轴交点为(a+b,0),称为点C 讨论a+b的情况先假设解为x 那么 令y=(a+b)/(2*x)必然是一个整数、、表示原创 2015-09-18 14:07:26 · 624 阅读 · 0 评论 -
HDU 5784- How Many Triangles-计算几何-two-pointer-数锐角三角形个数
题意:平面上n个点,问能组成多少个锐角三角形枚举每个点作为三角形的一个点i,然后对剩下的点计较排序,以点i与另一个点j 为一条边,去扫描边【i-j】左边有多少个锐角记p1,再扫描左边一共可以构成多少锐角,钝角,直角,两者相减就是钝角直角的数量p2每次on扫描的话,总复杂度n^3会超时,可以用two-pointer维护,因为j转移到j+1时,锐角的数量可以在j原创 2016-08-05 03:17:27 · 582 阅读 · 0 评论