
计算几何
-Dong
本博客转载或复制的内容只作为自己复习回顾用,无意触犯原出处。
展开
-
zoj 1648 Circuit Board(跨立相交实验 线段与线段)
题目链接:zoj 1648题意:给出n条边,问:如果有相交,输出burned!,没有输出ok!,注意下,这题还说了,相交于端点是不算交叉的。参考链接:http://dev.gameres.com/Program/Abstract/Geometry.htmhttps://blog.youkuaiyun.com/freezhanacmore/article/details/7894751http:...原创 2018-10-23 08:38:51 · 330 阅读 · 0 评论 -
poj 1873 The Fortified Forest (二进制枚举+凸包)
题目链接:poj 1873题意:给出n颗数,每棵树有四个值 xi, yi, vi, li ,分别表示坐标xi,yi,值vi,长度li,现在让你从中选出一些树,将剩余的树围起来,保证选出来的树的总和值要尽量小,假如有多种值,取较少数目的树。输出:被选出来作为围墙的树,以及建造围墙剩余的长度。参考链接:https://www.cnblogs.com/liuxin13/p/4908324....原创 2018-11-13 23:36:54 · 274 阅读 · 0 评论 -
poj 1228 Grandpa's Estate (稳定凸包)
题目链接:poj 1288题意:给出n个原来凸包的点,问能否根据这n个点推测出原来的凸包,若能,输出YES。题解:我们先求出这n个点的凸包来,然后在判断新凸包每条边都有其它点在,那么可以说明此边是确定边,因为要想让一个凸包稳定,当且仅当凸包上任意一条边有3个以上的木桩(包括端点)。例如这图,假设新凸包点为A,C,D,很容易可以看到CD边没有其它点,那么这条边就是不确定的,它有可能还...原创 2018-11-15 20:51:16 · 204 阅读 · 0 评论 -
poj 3348 Cows (求凸包的面积)
题目链接:poj 3348题意:给出n个点,问能用这n个点最多能围成多少面积,一头牛需要50平方米的地盘,求最多能容纳多少头牛?题解:直接求这n个点的凸包,最后计算下面积就行了。 #include<cstdio>#include<algorithm>#include<cstring>#include<cmath>using...原创 2018-11-15 21:42:53 · 193 阅读 · 0 评论 -
半平面交模板+又巩固了点在直线两侧判定
参考链接:https://blog.youkuaiyun.com/zuzhiang/article/details/78395670https://blog.youkuaiyun.com/qq_40861916/article/details/83541403先给道题目:poj 3335题意:给出顺时针的点,有一群人做到边界上,要你从中找出一个点来放记分牌,使得这个点能被所有人看到,问:能不能找到?...原创 2018-11-20 21:33:01 · 207 阅读 · 0 评论 -
poj 3525 Most Distant Point from the Sea(将边内缩)(半平面交求多边形中可以放入最大的圆的半径)
题目链接:http://poj.org/problem?id=3525题意:在凸边形内找出一点,使得到多边形边界的距离最大。题解:参考博客:https://blog.youkuaiyun.com/zuzhiang/article/details/78404556转化为求多边形内可以放入的最大的圆的半径。二分求解。///半平面交#include<cmath>#includ...原创 2018-11-20 23:13:04 · 306 阅读 · 0 评论 -
poj 2954 Triangle (pick定理应用)
题目链接:bang题意:给你三个点,每个点的坐标都是整数,问这个三角形内部有多少个整数点? 题解:pick定理解决,至于证明pick定理的,这有一篇强行解释的:http://blog.sina.com.cn/s/blog_a1c409e30101efme.html再来一篇强行解释的:http://www.matrix67.com/blog/archives/768参考链...原创 2018-11-16 17:30:11 · 256 阅读 · 0 评论 -
poj 3384 Feng Shui (半平面交求可以放入的两个相同圆的最大面积)
题目链接:poj 3384题意:顺时针给n个点,给你两个半径相等的圆,将两个半径为 r 的圆放入一个多边形中,两圆可以重叠,问两个圆占据最大面积时圆心坐标是多少? 题解:我们先求出凸多边形每条边内缩r之后的核,那么这两圆的圆心坐标肯定在这核里面,这时我们就枚举核顶点,找出最远距离的两个顶点作为两个圆心坐标,因为两圆心相离越远,它们两个占用的面积就越大。这题我真的想开骂了,一直Out...原创 2018-11-22 16:24:38 · 226 阅读 · 0 评论 -
poj 1755 Triathlon (半平面交解一元二次不等式)(切割求半平面交)
题目链接:哆啦A梦传送门参考链接:https://blog.youkuaiyun.com/acm_cxlove/article/details/7883370半平面交模板题目:铁人三项,每个人在某一项中有确定的速度,裁判可以决定某一项比赛的路程为多少,问对于某个人,是否存在一种安排能使他拿到第一,而且不能是并列。题解:我们假设三项的路程分别人X,Y,Z。 A的时间为X / U1+...原创 2018-11-28 17:02:01 · 322 阅读 · 0 评论 -
多校3 hdu 6325 Problem G. Interstellar Travel (求上凸包)
题目链接:哆啦A梦传送门题意:给出n个点的坐标,现在要从第一个点走到最后一个点,从第i个点走到第j个点需要花费 ai.x+b.y-a.y*b.x,要使得走的路线花费最少,输出路线。题解:参考题解:https://blog.youkuaiyun.com/a1325136367/article/details/81297176一看到那个式子,就马上能看出是个叉积公式,而我们走的路线又是一个半多边形,并...原创 2019-02-17 17:07:10 · 164 阅读 · 0 评论 -
J-单身狗救星 (下凸包)2019年华南理工大学程序设计竞赛(春季赛)
题目链接:哆啦A梦传送门题意:女生有一个美丽程度是B1,聪明程度是I1,男生有一个帅气程度是B2,聪明程度是I2。现在有n个男生,m个女生,你要给m个女生找到最适合她的男生,一个男生可以被多个女生选择。女生与男生的适合度为 : 化简得 :,可以看出其实就是女生点与男生点直接的斜率。我们先把所有点排好序(先按x排,再按y排),然后我们对这些男生点进行下...原创 2019-04-17 17:19:10 · 489 阅读 · 0 评论 -
hdu 6055 Regular polygon (找出正方形)
题目链接:题意:给n个不同的整数点,问:能找出多少个不同的正多边形?题解:因为都是整数点,故只会出现正四方形,题目就变成了找正边多形的个数。我们枚举正方形的一边,在左右两边看是否能找到满足条件?#include<bits/stdc++.h>using namespace std;struct point{ int x,y;} p[600];...原创 2019-07-24 22:20:31 · 276 阅读 · 0 评论 -
poj 3347 Kadj Squares
题目链接:poj 3347题意:告诉每个矩形的边长,它们是紧贴着的,问从上往下看,有几个还能看到。 参考博客:https://www.cnblogs.com/Running-Time/p/4924110.htmlhttps://www.cnblogs.com/kuangbin/p/3192475.html题解:用网上猥琐的方法,将边长看成左端点到中心的距离,这样可以避免精度问题...原创 2018-11-05 17:09:49 · 198 阅读 · 0 评论 -
poj 1696 Space Ant (极角排序)
题目链接:poj 1696题意:是给你n个点,一只蚂蚁要从y坐标最小的那个点开始,逆时针依次走过所有的点,要求不能走之前走过的点,蚂蚁只能逆时针(向左转)前进。题解:极角排序一下,每次出发都取左偏量最小的跑。///极角排序,每次出发都取左偏量最小的点#include<cstring>#include<cstdio>#include<algorit...原创 2018-11-05 09:23:50 · 258 阅读 · 0 评论 -
计算几何模板
#include<bits/stdc++.h>using namespace std;struct point{ double x,y; point(){} point(double _x,double _y){ x=_x;y=_y; }};struct LINE{ point a,b; LINE(poi...原创 2018-11-07 23:11:40 · 191 阅读 · 0 评论 -
poj 2284 That Nice Euler Circuit (常用线段 (直线)之类模板)
题目链接:poj 2284参考:刘汝佳算法入门经典 题意:平面上有一个包含n个端点的一笔画,第n个端点总是和第一个端点重合,因此团史一条闭合曲线。组成一笔画的线段可以相交,但是不会部分重叠。求这些线段将平面分成多少部分(包括封闭区域和无限大区域)。分析:若是直接找出所有区域,或非常麻烦,而且容易出错。但用欧拉定理可以将问题进行转化,使解法变容易。欧拉定理:设平面图的顶点数、边数...原创 2018-10-25 15:49:54 · 213 阅读 · 0 评论 -
zoj 1010 Area (叉积求面积 与 跨立相交实验判断相交)
题目链接:zoj 1010题意:给你 N 个点的坐标,点是按照顺序输入的。每一个点都与它后面的那个点连成一条线段,最后一个点与起点相连。求组成的多边形的面积。参考博客:https://blog.youkuaiyun.com/freezhanacmore/article/details/10181361 解题思路:根据叉积的标量意义:两向量叉积得到新向量的长度为这两个所构成的平行四边形的面...原创 2018-10-23 10:06:44 · 364 阅读 · 0 评论 -
poj 2318 TOYS 与 poj 2398 Toy Storage(叉积的应用:点在线段的左边或者右边)
题目链接:poj 2318题意:给你一个盒子的俯视图,从左到右将每个格子划分为0,1,2...n;给你一些点的坐标,让你输出每个格子里点的个数。注意一下:起点不同,判断又会不同,自己体会下。题解见代码:///向量P和向量Q ,假如P*Q>0 ,P在Q的顺时针方向///p*Q<0,P在Q的逆时针方向上,///点a在线段bc的左边,则它们的叉积小于0(共起点),...原创 2018-10-28 23:02:09 · 199 阅读 · 0 评论 -
poj The Doors (SPFA+判断两线段是否相交)
题目链接:poj 1556题意:房间里有n堵墙,每面墙上有两扇门,从(0, 5)走到(10, 5),中间有一些门,走的路是直线,问最短的距离。题解:建图,再求个最短路就行了,这题主要难在建图。参考博客:https://www.cnblogs.com/Running-Time/p/4906367.htmlhttps://blog.youkuaiyun.com/hq572241670/articl...原创 2018-10-31 16:48:56 · 129 阅读 · 0 评论 -
poj 3304 Segments(判断直线与线段相交)
题目链接:poj 3304题目大意:给出n条线段两个端点的坐标,问所有线段投影到一条直线上,如果这些所有投影至少相交于一点就输出Yes!,否则输出No!。解题思路:如果存在L的话,能说明什么。。说明L的法线L’肯定能经过所有的线段若存在一条直线L‘能经过所有线段,说明存在L’经过所有线段的两个端点。 直线肯定经过两个端点。那么我们只要枚举两个端点P1P2,对每个直线P1...原创 2018-10-30 09:26:13 · 229 阅读 · 0 评论 -
poj 1269 Intersecting Lines (求两直线交点)
题目链接:poj 1269题意:给出n个询问,每次给两条边,有三种不同的结果可以输出,1,平行不共线,2,平行且共线,3,相交并求出交点题解:模板题,注意一点的是,判断两直线平行时用叉积去判断,不要简单的直接用斜率公式去判断,可能会出现误差。代码如下:#include<cstdio>#include<algorithm>#include<cstr...原创 2018-10-30 12:22:09 · 245 阅读 · 0 评论 -
hdu 1147 Pick-up sticks (判断线段是否相交)
题目链接:hdu 1147题意:给你n条棒,按输入顺序投放,问最后哪些棒是最上面的,输出它们,保证输出最多不超过1000。题解:用set容器来存放满足条件的棒。详情见代码。#include<cstdio>#include<algorithm>#include<cstring>#include<set>#include<cm...原创 2018-11-01 16:10:07 · 198 阅读 · 0 评论 -
poj 1066 Treasure Hunt(线段相交)
题目链接:poj 1066题意:给你一个100*100的正方形,再给你n条线(墙),保证线段一定在正方形内且端点在正方形边界(外墙),最后给你一个正方形内的点(保证不再墙上)告诉你墙之间(包括外墙)围成了一些小房间,在小房间内可以从房间边界(墙)的中点走过这堵墙,问你从给定的点走到外墙外最少走过的墙数。题解:直接把中心点与边界点连成线段,并判断有多少条线段与之相交,最小的相交数就是...原创 2018-11-01 18:08:16 · 180 阅读 · 0 评论 -
poj 2826 An Easy Problem?! (变态卡数据题)
题目链接:poj 2826题意:给出两条直线,水从天上落下,问:这两条直线组成的平面容器能装多少水?题解:很gou的题,超级变态卡数据,艹,足足搞了我几天,总算搞出来了。参考链接:https://www.cnblogs.com/kuangbin/p/3192511.html kuangbin神犇的,不过它代码少了一句话,已经加上去了 这种情况是覆盖的, 注意答案要加...原创 2018-11-07 17:45:47 · 348 阅读 · 0 评论 -
poj 1113 Wall (andrew,graham求凸包)
题目链接:poj 1113参考博客:https://www.cnblogs.com/kuangbin/archive/2012/04/13/2445633.htmlhttps://www.cnblogs.com/acgoto/p/9547049.html 题意:给出n个点,让你把这n个点围起来,有个前提,围墙到顶点的距离要等于L,问围墙有多长。题解搬kuangbin神犇的。...原创 2018-11-10 20:14:49 · 231 阅读 · 0 评论 -
poj 1039 Pipe (直线与线段相交判断+枚举端点)
题目链接:传送门题意:有一条宽度为1(指的是上下管壁纵坐标之差,不是管道真实的宽度)的折线形管道,管道壁不透光不反光,求从管道一头射入一束光线,光线在管道内沿直线传播最远能传播多远(横坐标能到达的最大值)。输入:每个测试用例一个数据块,第一个整数为折点数(2到20之间),接下来每行一个折点坐标(即上图中的一个点[x,y],x互不相等,按增序排列),表示管道的上边界折点,对应的下边界折点为[...原创 2018-11-07 23:00:27 · 269 阅读 · 0 评论 -
hdu 6590 Code (判断两凸包是否相交)19_hdu多校
题目链接:参考博客:题意:给定一组(x1,x2,y),其中y为1或0,问是否有一组(w1,w2,b),使得上述的每一个(x1,x2,y)都满足x1*w1+x2*w2+b在y=1时大于0,在y=-1时小于0.题解:我们可以将(x1,x2)看成是坐标点,那么题目就可看成,能否找出一条直线,将1点与-1点分开。也就是我们可以求1点的凸包以及-1点的凸包。然后我们再判断这两个凸包...原创 2019-07-30 23:33:58 · 1003 阅读 · 0 评论