计算几何_杂
文章平均质量分 78
wang2147483647
这个作者很懒,什么都没留下…
展开
-
UVAlive 7366 Brocard(二分+计算几何)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5388思路:二分Brocard angle设为rad,将两条边(AB,BC)按该角度旋转,求出两条边的交点P,判断CA与CP所成角度ang是否等于该角度,若rad>ang则rad原创 2016-08-21 21:14:43 · 788 阅读 · 0 评论 -
Uva 11796 Dog Distance(几何+相对运动)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2896思路:若两只狗只在一条线段上运动,由于求两狗相对距离,假设以狗A为系,则狗B相对A运动的速度为vB-vA,狗A相对静止。则此时相当于一静止点到一线段的距离,最小值出现在点到线段的距离,最原创 2017-08-15 19:59:51 · 1037 阅读 · 0 评论 -
Uvalive 3263 That Nice Euler Circuit(几何欧拉定理)
题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1264思路:欧拉定理:设平面图的顶点数、边数和面数分别为V、E和F,则V+F-E=2。顶点数可以通过计算两线段交点计算:首先判断两线段是否相交(每条线段的两个端点均在另一条线原创 2017-08-14 19:40:26 · 543 阅读 · 0 评论 -
UVA 11178 Morley's Theorem(几何)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2119思路:求出角ABC与角ACB,将向量BC逆时针旋转三分之一角ABC得到向量BD,将向量CB顺时针旋转三分之一角ACB得到向量CD,求向量BD与向量CD的交点即为点D。点E与点F同理。原创 2017-08-14 16:56:20 · 411 阅读 · 0 评论 -
Uva 12304 2D Geometry 110 in 1!(圆综合题)
题目地址:https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=3726思路:居然错在了求内切圆gg。1.求外接圆:求出任意两条垂直平分线,求交点即可。2.求内切圆:设三角形三点坐标分别为(x1, y1), (x2, y2),原创 2017-08-18 16:10:22 · 536 阅读 · 0 评论 -
Hdu 1558 Segment set(并查集+几何)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1558思路:判断线段相交(注意端点相交),若相交并入同一集合。#include#include#include#include#include#include#define debuusing namespace std;const double eps=1e-10;const原创 2017-02-04 15:30:17 · 374 阅读 · 0 评论 -
Hdu 3365 New Ground(计算几何)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3365思路: 以A[0]为原点,构造向量A[i]-A[0]。先旋转(注意旋转方向),再伸缩,最后平移至终点。#include#include#include#include#include#define debuusing namespace std;const double原创 2016-07-30 11:30:02 · 918 阅读 · 0 评论 -
Hdu 3694 Fermat Point in Quadrangle(三分)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3694思路:三分竟然能水过。。。。感觉不是很对。。。。#include#include#include#includeusing namespace std;const double eps=1e-7;struct Node{ double x,y;};Node a[5原创 2016-08-06 11:36:13 · 587 阅读 · 0 评论 -
Hdu 3685 Rotational Painting(多边形重心+凸包)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=3685思路:先求出多边形重心,放置的边一定为凸包边。判断重心是否落在边之间(求点到直线与点到线段的距离,判断)。40 04 08 44 4注意这种情况,重心不能在凸包边端点的垂线上。#include#include#include#includeusing n原创 2016-08-08 19:16:01 · 643 阅读 · 0 评论 -
Hdu 4458 Shoot the Airplane(判断点在多边形内)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4458思路:以飞机为参考系,则飞机相对静止,子弹加上水平方向速度-v。则只需枚举时间,判断该时间时点(子弹)是否在多边形(飞机)内。注意g可以为0,分匀变速和匀速。另外本题精度要求较高,判断点在线段上用坐标差值,避免使用Dot 。#include#include#include#inclu原创 2016-08-08 21:39:21 · 1107 阅读 · 0 评论 -
Hdu 5784 How Many Triangles(极角排序+尺取法)
题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=5784思路:1.锐角三角形总锐角个数=总锐角数-非锐角三角形提供锐角数。则锐角三角形个数=总锐角数/3(即(锐角数-2*(直角+钝角数))/3,每钝角和直角三角形提供两锐角)。2.枚举每个点p[i],以p[i]为原点,求其他n-1个点与原点组成的向量,按极角(小于0时加2*PI)递增排序。设原创 2017-09-05 20:07:15 · 791 阅读 · 0 评论