![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算几何
张小生的先生
你要觉得我博客还行,就点赞加个关注,有意深聊的可以私信,随时欢迎,当然有女性想深聊的我更欢迎,要是男性的话不建议私聊,我跟一大老爷们真聊不起来。我人品五五开,胆小不好色,对女性要求不高但要识大体,样貌看得过去就行,其它的也就那样了。我不仅把这个当作学习博客也当作一个招友的圣地,希望在这里遇见更好的你。
展开
-
[AcWing] 3068. 扫描线 模版题
题目链接:3068. 扫描线题解枚举横坐标区间,每个横坐标区间内合并所有纵坐标区间。代码#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<bitset>#include<cassert>#include<cctype>#include<cmath>#include<cstdli原创 2021-04-21 17:59:32 · 100 阅读 · 0 评论 -
[2018-2019 ACM-ICPC, Asia East Continent Finals] F. Interstellar … Fantasy (计算几何)
题目链接:F. Interstellar … Fantasy题解题目大意是在一个三维坐标内,给你两个点,两个点之间可能有一个球状的障碍物阻挡,你只能在球表面或者球外行走,问这两个点的最短距离。给的两个点不会出现在球内部。本题的关键是最短路径的最优策略是如何走,本题可以转化成二维求解,圆心及两点能将障碍球切成一个大圆面,其实就是求两点不穿过圆在平面上的最短距离。在这里插入图片描述...原创 2021-04-11 22:06:05 · 194 阅读 · 0 评论 -
第 45 届ICPC亚洲区域赛(昆明) I. Mr. Main and Windmills (计算几何)
题目链接:I Mr. Main and Windmills题解题目有一句关键点,给的任意三个点不共线,所以我们可以将其它点与查询点连线交路线线段于各个点(没有交上的点排除在外),将交于路线线段按起始终点位置排序,找第k个即可,没有则输出-1。(题目来源于生活,想起坐高铁时看到电线杆的移动情况,本题自然而然的就好理解了)代码#include<iostream>#include<algorithm>#include<cstdio>#include<cst原创 2021-04-04 15:20:51 · 762 阅读 · 1 评论 -
2021年度训练联盟热身训练赛第一场 A.Weird Flecks, But OK (最小覆盖圆)
题目链接: A.Weird Flecks, But OK题解从XOY、YOZ、XOZ三个面,寻找最小圆覆盖,只要满足存在一个面的点被圆覆盖即可,答案就是每个面的最小圆的最小值。代码#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<cmath>#define N 5010using namespace std;int n;原创 2021-03-13 21:08:50 · 107 阅读 · 0 评论 -
[LA 3263] That Nice Euler Circuit 计算几何
题目链接:That Nice Euler Circuit 题意平面上有一个包含n个端点的一笔画,第n个端点总是和第一个端点重合,因此是一条闭合的曲线。组成一笔画的线段可以相交,但是不会部分重叠。求这些线段将平面分为多少部分。题解欧拉定理:设平面图的顶点数、面数和边数为V、F和E,则V+F-E=2。本题以欧拉定理为中心,若想求出F,则求出V和E即可。先说顶点数V,首先该图形有(n-1)个顶点(本题输入时最后一个点回到第一个点所以不算),其次计算线段两两相交的部分,由于点数最多为300,所以枚举就行原创 2020-10-20 21:21:08 · 99 阅读 · 0 评论 -
[ BAPC 2016 ] Target Practice 简单几何
题目链接:Target Practice 题意给你n个笛卡尔积点,问是否可以用最多两条直线穿过所有的点,可以输出“success”,否则输出“failure”。题解分析本题,如果确定了一条直线,那么其它点无非在该条直线上或者另一条直线,进而我们很容易可以确定两条直线来判断剩下点是否符合条件。但本题的难点在于无法确定哪一条直线才是“答案里的直线”,如果用O(n)时间复杂度去枚举,会发现总的时间复杂度为O(n2){O(n^2)}O(n2),不合理。但其实“两点确定一条直线”,我们枚举三个点所连成的三原创 2020-08-18 12:06:06 · 427 阅读 · 0 评论 -
[2020牛客暑期多校训练营第三场] C. Operation Love 计算几何
题目连接:C.Operation Love题意:给你一个大小固定由20个点组成的手掌图形(分为左右手),将这个手掌通过旋转或平移,让你根据20个点的坐标判断该图形为左手还是右手。题解:可以取手掌两侧长度为6和8的两条边的点,由于这两条边的长度是独一无二的,所以我们可以遍历20个点找到长度为6和8两条边的端点(共四个)。此时虽然找到这四个点,但我们并不清楚长度为6的点对应的是这个边的1端点还是2端点(长度为8的点亦如此)。所以我们还需要用到两条边两个端点距离为9这个条件。这样我们就可以将这四个端点一一对原创 2020-07-19 11:38:48 · 180 阅读 · 0 评论 -
[2020牛客暑期多校训练营第二场] B、Boundary
题目链接:Boundary题意:给你n个点,让你找最多有多少个点共圆并且该圆过原点。题解:首先我们知道三个点即可确定一个圆(三点不共线),可以通过任取两个线段的中垂线交点得到圆心。那么我们可以通过记录交点出现次数最多的点即为合适的圆心。问题来了?当我们知道合适的圆心是多少时,我们如何计算符合题目要求的点的个数。我们可以继续用"三点定圆"的原理,首先圆必过原点,这已经确定一个点了,然后我们枚举时可以先确定一个点,然后枚举其它的点。此时枚举一遍后得到的ans是其它点与确定点和原点共圆的个数,然后更改原创 2020-07-16 00:24:33 · 191 阅读 · 0 评论