![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算几何
Faithfully__xly
这个作者很懒,什么都没留下…
展开
-
1018 - 计算几何之凸包 - 水平可见直线(BZOJ 1007)
传送门 分析遇到新的题,要思考着往学过的模型上套这道题要求的是水平可见直线,其实稍微转化一下,就会发现最后能够被看见的直线恰好形成了一个开口向上的半凸包的样子我们画出一个半凸包,可以发现每条边的斜率是在从左往右依次增加,而其交点横坐标的大小也在递增可以利用这个性质,对这道题进行求解将直线按斜率从小到大的顺序排序,依次加入栈中,当当前直线与栈顶直线的交点位于栈中前两条直线...原创 2018-10-18 10:03:43 · 145 阅读 · 0 评论 -
1018 - 计算几何之多边形面积 - 改革春风吹满地 (HDU 2036)
传送门 分析sb题主要是题面太皮,我才去做的:)简单的多边形面积,用叉积即可 代码#include<bits/stdc++.h>#define in read()#define N 105using namespace std;inline int read(){ char ch;int f=1,res=0; while((ch=getch...原创 2018-10-18 14:20:29 · 150 阅读 · 0 评论 -
1015 - 计算几何之Graham扫描法求凸包 - Cows(POJ 3348)
传送门 题意给你一堆点,求这些点的凸包,并求出面积 分析很久之前就做过的一道题了,还记得那是凯爷(凯爷好厉害好厉害的)讲的,是Jarris步进法:按照横纵坐标对所有的点进行排序(横坐标优先)然后就是和Graham类似的方法了,边扫描边弹出栈,只是Jarris算法要进行两遍扫描,一遍解决了下面一半的凸包,一遍解决上面一半的凸包,拼在一起就是一个完整的凸包咯但这不是今天...原创 2018-10-15 17:10:28 · 150 阅读 · 0 评论 -
1015 - 计算几何之旋转卡壳 - Beauty Contest(POJ 2187)
传送门 题意给定 n 个点,求最远点对,并输出其距离的平方 分析首先我们先来把这 n 个点围出一个凸包来由于最远点对肯定不会在凸包内部啊,所以我们就在凸包边上找找找找找用一个叫做旋转卡壳的算法,我们可以在凸包顶点数的线性时间内求得最远点对具体是怎么搞的呢?可以想象有两条平行线,“卡”住这个凸包,然后卡紧的情况下旋转一圈,肯定就能找到凸包直径,也就找到了最...原创 2018-10-15 20:07:06 · 122 阅读 · 0 评论 -
1016 - 计算几何之点与直线的关系 - TOYS(POJ 2318)
传送门 题意给你一个这样的图然后随机给你 m 个点,问落在每一个区域内的点有多少个 分析入门题入门题依旧是利用叉积,叉积太强了!二分寻找并判断 gsj太厉害了,简直每次我算法的反例都可以被他找出来鉴于他如此机智,他擅自修改我友链的事,我就不计较了……大佬高兴就好高兴就好Orz一开始我是这样想的,每次二分寻找当前这个点的横坐标位于上方哪两...原创 2018-10-16 21:17:57 · 150 阅读 · 0 评论 -
1016 - 计算几何之直线与线段的交 - Segments(POJ 3304)
传送门 题意虽然题目是给了什么投影啊,什么奇奇怪怪的东西但实际上也就是给你 n 条线段,询问是否存在一条直线能经过所有的线段数据范围:n<=100 分析这个数据范围有点友好啊……我们先来想一个问题若存在一条直线使其能穿过所有的线段,那我们一定可以将这条线段进行一定角度的旋转,然后使其恰好被卡在某两条线段的端点之间也就是说若我们能够找到被某两个线段端...原创 2018-10-16 22:11:12 · 132 阅读 · 0 评论