计算几何: 最基本的计算几何,差积 旋转
Morley's
Theorem
Time Limit: 3000MS
Memory Limit: Unkn...
分类:
其他好文 时间:
2014-10-20 23:30:29
阅读次数:
318
题目大意:定义一种多边形,叫做星形多边形。这种多边形就是有内核的多边形。给出一些多边形,问是否是星形多边形。
思路:利用半平面交求解。PS:我的第一个多边形内核的代码不对。。一定要看这个,这个是我看了学长的代码之后才发现之前的代码的问题的,这个也不用微调,是准确值,总值千万不要去看前面的那篇!!!!
由于内核中的所有点到图形上所有点的连线之间不能有边阻挡,所以为了满足任意一条边,需要满...
分类:
其他好文 时间:
2014-10-20 19:33:21
阅读次数:
202
题目大意:给出平面上的一些点,求这些点中组成的矩形的最大面积。
思路:任意找四个点然后判断肯定是不行的,那么我们不妨来想一想矩形的性质。比如,对角线的交点是两条对角线的中点,对角线相等。这样的话只要找到一对线段,使得他们的中点相同,并且长度相同,那么这两个对角线一定能够组成一个矩形。只有就可以利用叉积求出面积了。
比较坑的一点是,这个题万万不能用double,因为有一个点专门卡doub...
分类:
其他好文 时间:
2014-10-20 17:23:30
阅读次数:
202
题目大意:按顺序给出一个多边形的顶点,求这个多边形内核的面积。答案保留两位输出。
思路:半平面交。加边的时候要讨论一下第一个点和最后一个点,否则会wa的很惨。
CODE:
#include
#include
#include
#include
#include
#define MAX 1510
#define EPS 1e-8
#define DCMP(a) (...
分类:
其他好文 时间:
2014-10-20 15:12:19
阅读次数:
247
题目大意:多边形求内核模板题
思路:半平面交,我用的是O(nlogn)的半平面交,但是有一个问题,就是当多边形内核是一个点的时候,半平面交所得到的答案是空集合,但是输出应该是yes,实在没有什么好的解决方法,最后只能把所有直线向右移动,然后在求内核。但是这样做eps的不同取值有的时候能A有的时候不能A。有没有什么好的解决方法啊!!!求解答啊!!!
CODE:
#inclu...
分类:
其他好文 时间:
2014-10-20 11:46:27
阅读次数:
189
题目:在一个矩形中摆放圆,要求每行或每列的圆是相切的,问最多能放多少个。
分析:计算几何,数论。首先计算矩形摆放,然后计算交叉摆放(每行相同和相邻行差1个)求最大即可。
说明:╮(╯▽╰)╭当成最大摆放WA好几次。
#include
#include
#include
#include
using namespace std;
//题目方式摆放
int getmin(doubl...
分类:
其他好文 时间:
2014-10-19 01:26:54
阅读次数:
164
题目大意:给出一些笛卡尔系中的一些直线,问从(0,+∞)向下看时能看到哪些直线。
思路:半平面交可做,但是显然用不上。类似于求凸包的思想,维护一个栈。先将所有直线按照k值排序,然后挨个压进去,遇到有前一个交点被挡住的话就先弹栈。
比较闹心的是去重。我的方法是压栈之前先去重,然后在处理。
CODE:
#include
#include
#include
#inclu...
分类:
其他好文 时间:
2014-10-17 18:54:42
阅读次数:
153
易知最短路一定是以圆心或者两圆交点作为中间点到达的。所以把这些点拿出来建图跑最短路就够了。
现在的问题就是,给定两个点,能否连边 add(a,b,dist(a,b))
题目要求,ab线段必须完全在圆上,所以可以求出ab线段和所有圆的所有交点,对于任意相邻两个交点,它们必处于同一个圆内,否则不可达。点的编号用map就够了(一开始我以为double有精度问题无法map,用两个longlong保存然...
分类:
其他好文 时间:
2014-10-16 19:10:02
阅读次数:
257
题目:如果一个底边与高为D的圆柱切去一部分使得,剩下的中心是底边与高为d的圆柱,
和以他们底面为上下地面的圆锥台,已知切去的体积,求d。
分析:二分,计算几何。圆锥台体积公式:π*(r^2+r*R+R^2)*h / 3。
说明:可以直接用公式求指数计算。
#include
#include
#include
#include
using namespa...
分类:
其他好文 时间:
2014-10-14 16:22:38
阅读次数:
175
计算几何。。首先题意很难懂,多亏了纬哥解释,才懂。。就是有左边有一条折线,右边有一条折线,两条折线的起点和终点的纵坐标相同,还有一些摄像头,一条线段平行x轴的线段从起点到终点,必须得在两条折线中间,并且不能碰到摄像头,问线段最长的长度其实不难的,思路很快就有了,先o(n)处理左边折线的点到右边的折线...
分类:
其他好文 时间:
2014-10-13 23:04:37
阅读次数:
270