![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ACM_计算几何
LzyRapX
Just For Fun .
展开
-
计算几何:线段相交(迷宫寻宝)
计算几何:线段相交(迷宫寻宝)Time Limit(Common/Java):1000MS/3000MS Memory Limit:65536KByteDescription 一个叫ACM的寻宝者找到了一个藏宝图,它根据藏宝图找到了一个迷宫,这是一个很特别的迷宫,迷宫是一100*100的个正方形区域,里面有很多墙,这些墙都是由一些直线构成的,如原创 2016-04-06 15:50:04 · 961 阅读 · 0 评论 -
VK Cup 2017 B. Volatile Kite (Div . 1)(凸多边形退化)(计算几何)
题目链接:点击打开链接http://codeforces.com/contest/801/problem/D题意:给定一个凸n边形,你可以移动每个点在x范围之内,问你x最大为多少时,这个n边形仍为凸边形? 即不能退化为凹多边形。题解:如果想要一个凸多边形不退化为凹多边形,当一个点A和它相连的两个点B、 C退化为成一条直线的时候就不行了,那么在极限的情况下,任意的相邻原创 2017-04-17 21:18:11 · 727 阅读 · 0 评论 -
#51 Codeforces-E. Very simple problem (计算几何)(点被多少个三角形包含)
题目链接:点击打开链接http://codeforces.com/contest/55/problem/E题意:给定一个凸多边形,给定一些点,问你这些点被多少个三角形包含?题解:平面内n点任意三点不共线可组成n*(n-1)*(n-2)/6个三角形。求出不包含该点的三角形个数,用总个数减去这些即可。即用n*n(n-1)*(n-2)/6 - 不包含该点的三角形个数?原创 2017-04-16 22:15:32 · 514 阅读 · 0 评论 -
PE 144 Investigating multiple reflections of a laser beam (计算几何)
Investigating multiple reflections of a laser beamProblem 144In laser physics, a "white cell" is a mirror system that acts as a delay line for the laser beam. The beam enters the cell, bou原创 2016-11-09 16:48:58 · 1306 阅读 · 0 评论 -
Codeforces Beta Round #1 C. Ancient Berland Circus (计算几何)
C. Ancient Berland Circustime limit per test2 secondsmemory limit per test64 megabytesinputstandard inputoutputstandard outputNowadays all circuses in Berland h原创 2016-09-10 01:16:48 · 749 阅读 · 0 评论 -
HDU 2080 夹角有多大II(余弦公式)
夹角有多大IITime Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 9884 Accepted Submission(s): 5062Problem Description这次xhd面临的问题是这样的:在一个平面内有两个原创 2016-07-20 19:00:15 · 655 阅读 · 0 评论 -
HDU 5721 Palace BestCoder 2nd Anniversary (平面最近点对)
PalaceTime Limit: 8000/4000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others)Total Submission(s): 465 Accepted Submission(s): 118Problem DescriptionThe last trial Venus impo原创 2016-07-19 11:30:37 · 1036 阅读 · 0 评论 -
codeforces #8D Two Friends (二分答案+计算几何)
题目链接;点击打开题目链接题意:有两个人AlanAlan和BobBob,他们现在都在AA点,现在BobBob想去BB点,AlanAlan想先到CC点再去BB点。要求AlanAlan走过的长度不能超过最短路长度+t1+t1,BobBob走过的长度不能超过最短路长度+t2+t2,求两人在一起最多走多久(分开后再汇合不算一起走)?题解:设AlanAlan最多走L1L1,Bob最多走L2L2 ,注意还要加上原创 2017-04-21 21:38:11 · 1555 阅读 · 0 评论 -
ACdream 1106 游泳水平有限的瑶瑶 (计算几何)(点到直线的最短距离)
题目链接: ACdream 1106题意: 给你两个凸多边形,求这两个凸多边形的最短距离。题解: 就是让你求点到直线的最短距离。AC代码:/** this code is made by LzyRapx* Problem: 1106* Verdict: Accepted* Submission Date: 2017-06-21 20:11:16* Time: 4MS* Memory原创 2017-06-21 20:41:34 · 440 阅读 · 0 评论 -
计算几何常用算法
、矢量减法设二维矢量 P = (x1,y1) ,Q = (x2,y2)则矢量减法定义为: P - Q = ( x1 - x2 , y1 - y2 )显然有性质 P - Q = - ( Q - P )如不加说明,下面所有的点都看作矢量,两点的减法就是矢量相减;2、矢量叉积设矢量P = (x1,y1) ,Q = (x2,y2)则矢量叉积定义为: P × Q = x1*y2原创 2016-05-20 16:50:18 · 4395 阅读 · 0 评论 -
求多边形面积(如HDU2036)
1,。2:可将多边形分割成多个三角形(如果不是按逆时针或顺时针给定顺序的定点需要进行排序),利用海伦公式,求得面积,但不适用于凹多边形,例如 HDU 2036.海伦公式如下:已知三角形各边a,b,c S=sqrt(p(p-a)(p-b)(p-c)) 其中p为半周长:p=(a+b+c)/2;3:HDU 2036 :#include#i原创 2016-05-01 12:36:01 · 629 阅读 · 0 评论 -
三角形面积
三角形面积时间限制:3000 ms | 内存限制:65535 KB难度:2描述给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积输入每行是一组测试数据,有6个整数x1,y1,x2,y2,x3,y3分别表示三个点的横纵坐标。(坐标值都在0到10000之间)输入0 0 0 0 0 0表示输入结束测试数据不超过10000组输出原创 2016-03-11 10:45:37 · 826 阅读 · 0 评论 -
三点顺序(三个点的顺序)
三点顺序时间限制:1000 ms | 内存限制:65535 KB难度:3描述现在给你不共线的三个点A,B,C的坐标,它们一定能组成一个三角形,现在让你判断A,B,C是顺时针给出的还是逆时针给出的?如:图1:顺时针给出图2:逆时针给出 输原创 2016-03-11 10:56:10 · 3240 阅读 · 1 评论 -
计算几何:凸包(圈水池)
这是最简单的凸包入门题。解决这样的问题两个出名的算法。一、 Graham扫描法,运行时间为O(nlgn)。二、 Jarvis步进法,运行时间为O(nh),h为凸包中的顶点数。圈水池时间限制:3000 ms | 内存限制:65535 KB难度:4描述有一个牧场,牧场上有很多个供水装置,现在原创 2016-04-02 15:55:41 · 640 阅读 · 0 评论 -
计算几何---判断点是否在线段上
判断点是否在线段上:给定一点Q(a,b),和线段M的首尾两个端点P1(X1,Y1),P2(X2,Y2),要求判断点Q否在线段M上; (为了方便理解,这里我们就认为X1>X2,Y1>Y2)看到这个题,我们说先会想到的肯定是判断该点是否在线段的范围内,如果不在,肯定在线段上。所以我们首先应该保证:X2这样点Q就在以P1,P2为首位的矩形原创 2016-04-07 19:46:10 · 23357 阅读 · 6 评论 -
计算几何---判断线段相交(二)
计算几何中最基本重要的算法之一~判断线段相交基础。只需判断线段是否同时满足1.快速排斥实验2.跨立实验1.快速排斥实验:设以线段P1P2为对角线的矩形为T,以Q1Q2线段为对角线的矩形为R,那么下图这种状态时P1P2和Q1Q2肯定不相交判断P1 P2 Q1 Q2是否满足这种关系就是快速排斥实验。max(p1.x,p原创 2016-04-07 22:59:32 · 2414 阅读 · 0 评论 -
计算几何----判断点是否在一个矩形内
只需要判断该点是否在上下两条边和左右两条边之间就行,判断一个点是否在两条线段之间夹着,就转化成,判断一个点是否在某条线段的一边上,就可以利用叉乘的方向性,来判断夹角是否超过了180度 如下图: 只要判断(p1 p2 X p1 p ) * (p3 p4 X p3 p1) >= 0 就说明p在p1p2,p3p4中间夹着,同理计算另两边就可以了。 最后就是只需要判断 (p1 p2原创 2016-04-07 23:42:54 · 10264 阅读 · 1 评论 -
计算几何----判断线段相交(一)
判断线段相交:两个线段的交点个数可能有0个 1个或者无数个判断两个线段相交,可以按照如下步骤:判断A点B点是否在线段CD的两侧,即计算叉积时异号判断C点和D点是否在线段AB的两侧,即计算叉积时异号然后在处理特殊情况,即ABCD四个点有至少三个点共线的情况,即出现叉积为零的情况,如果A点与线段CD共线,则要查看A点是否在线段CD上,其它情况依次类推。原创 2016-04-07 22:54:27 · 5139 阅读 · 0 评论 -
计算几何----判断两矩形是否相交
问题定义:给定两个边与坐标轴平行的矩形,分别由左上角与右下角两点指定(以此同时,我们可以用右上和左下的两个点来进行推出同样的结果。),即矩形(P1,P2)与(P3,P4),判断两矩形是否相交。我的思路:如下图所示,首先求出P1与P3点在X方向较大值与Y方向较大值的交点,在下图中就是P3,用红点(记为M点)表示。然后求出P2与P4点在X方向较小值与Y方向较小值的交点,在下图中就是P2原创 2016-04-08 00:01:17 · 10607 阅读 · 0 评论 -
ACdream 1107 瑶瑶迷上新游戏 (计算几何+确认抛物线)
题目链接: ACdream 1107题意: 给你一系列的点,问你这些点是否可以确认一条抛物线。题解: 先将这些点按横坐标从小到大排序。 我们设抛物线:y=ax 2 +bx+c y=ax^2+bx+c。 三点可以求出一条抛物线。 再求出 a a,b b,c c。 最后将剩余的点代入到已求出的抛物线,验证一下即可。注意: 给出的点不能太靠拢,否则求出的抛物线就不准确,就No No。也就是原创 2017-07-22 13:24:56 · 490 阅读 · 0 评论