
计算几何
文章平均质量分 74
acm计算几何相关
Tryna1
这个作者很懒,什么都没留下…
展开
-
2018 ACM-ICPC, Asia Shenyang Regional L. Machining Disc Rotors
传送门L. Machining Disc Rotors题意: 给出一个大圆,然后再给出若干个小圆,这些小圆切割了大圆,求被切割后的几何图形的直径。题解: 想法很简单,如果被切割后仍存在大圆直径,那么答案就是大圆直径,否则就是最远的两点距离。对于如何判断是否存在直径可以枚举每个端点,然后求它关于原点的对称点,如果不在任何一个圆内,那么直径存在。注意其他圆与大圆无交点时答案就是直径#include<bits/stdc++.h>using namespace std;#define l原创 2021-03-29 10:26:53 · 245 阅读 · 3 评论 -
Codeforces Round #697 (Div. 3)
目录A - Odd DivisorB - New Year's NumberC - Ball in BerlandD - Cleaning the PhoneE - Advertising AgencyF - Unusual MatrixG - Strange BeautyA - Odd Divisor题意: 问nnn是否有除了111以外的奇数因子思路: 每次除222,若出现奇数则输出YESYESYES,若除到111则输出NONONO。AC Code:#include<bits/stdc+原创 2021-01-27 23:39:44 · 132 阅读 · 0 评论 -
[kuangbin带你飞] 专题十三 基础计算几何 题解
这个专题除了最后两题其他题目都是几个月前写的了,所以就贴一下代码好了,就最后两题简单地说了一下思路目录A - TOYS (POJ - 2318)B - Toy Storage (POJ - 2398)C - Segments (POJ - 3304)D - Intersecting Lines (POJ 1269)E - The Doors (POJ - 1556)F - Pick-up sticks (POJ - 2653)G - Treasure Hunt (POJ - 1066)H - Inter原创 2021-01-27 17:12:59 · 250 阅读 · 0 评论 -
2019 ICPC Asia Nanjing Regional K.Triangle
题面题意: 给出三角形的三个顶点和一条线段的一个端点,问是否存在另外一个点和之前的端点构成一条线段,满足落在三角形边上,并且把三角形分成面积相等的两部分,起始点也需要在三角形边上。题解: 赛后看了一下大家的bolg,基本上都是用二分写的,我觉得我的写法还挺好的。首先如果起始点不在三角形边上,直接输出 -1,如果起始点在边上,那么就一定能够找到另外一个点也在三角形边上把这个三角形分为面积相等的两部分,接下来我们就需要去找到这个点,这里我用到了高中时常用的求三角形面积公式S=12∗sinθ∗a∗bS =原创 2020-11-23 00:19:47 · 277 阅读 · 0 评论 -
HDU - 3007【模拟退火求最小圆覆盖】
HDU - 3007 Buried memory代码:#include<bits/stdc++.h>using namespace std; #define inf 0x3f3f3f3f#define eps 1e-3const int maxn = 510;const double startT = 100;struct Point{ double x, y;}P[maxn];double Dist(Point a, Point b){ return sqrt(原创 2020-11-21 19:16:08 · 180 阅读 · 0 评论 -
POJ - 1410 Intersection 【计算几何】
Intersection题意: 给出一个矩形和一条线段,问是否存在交点。注意这里的矩形是实心的,所以线段在矩形内部也算相交,并且这题要求的是求非规范相交,即端点重合算相交题解: 知道了上面这些坑点就很好做了,把矩形看成四条线段判断和线段的相交情况,然后在判断一下线段是否在矩形内部。// #include<bits/stdc++.h>#include<cstdio>#include<vector>#include<queue>#include<原创 2020-10-24 11:12:43 · 167 阅读 · 0 评论 -
FZU - 2273 Triangles【计算几何】
Triangles 题意: 给出两个三角形,要求输出两三角形的位置关系,是相交、相离还是包含,题意十分简单。这道题最先碰到是在今年的三月份,那时候还没学过计算几何写了很垃圾的代码,把它贴在后面好了// #include<bits/stdc++.h>#include<cstdio>#include<vector>#include<queue>#include<algorithm>#include<iostream>#in原创 2020-10-22 20:52:09 · 201 阅读 · 0 评论 -
POJ 1696 Space Ant【计算几何】
题面题意: 给出一系列二维点,问从(0,y)出发,y是这些点里纵坐标的最小值,只能左转或者直走,并且每个点只能走一次,输出能走完这些点的路径的顺序。题解: 先找到第一个点,它肯定是当y取最小时的那个点,然后接下来开始遍历,每次找的点与pre连成的线都要与pre和first连成的线的夹角最小,找到后就更新first为pre,更新pre为当前的找到的点// #include<bits/stdc++.h>#include<cstdio>#include<vector>原创 2020-10-18 15:25:52 · 141 阅读 · 0 评论 -
POJ - 1556 The Doors【计算几何 + 最短路】
The Doors题意 : 给出一个房间,大小为10×10,起点在(0,5),终点在(10,5),房间中有若干堵墙,问从起点到终点的最短路径。题解 : 枚举每两点,如果这两个点构成的线段没有与房间中的任何一线段相交,那么就建一条边,所有边建完之后跑一边迪杰斯特拉就好了。#include<cstdio>#include<vector>#include<queue>#include<algorithm>#include<iostream>原创 2020-10-14 23:57:39 · 747 阅读 · 1 评论