题目传送门题意:裸的对原点的极角排序,凸包貌似不行。/************************************************* Author :Running_Time* Created Time :2015/11/3 星期二 14:46:47* File ...
分类:
编程语言 时间:
2015-11-04 13:01:50
阅读次数:
209
题意:
给出一个n个点的多边形,求多边形核的面积;
多边形的核即为多边形内部的点集,使其中的点可以看到多边形的任意顶点和边;
n
题解:
这应该也算是模板题的一种吧;
求多边形核的方法现在是O(nlogn)的;
将所有的直线按极角排序(math库中atan2()函数),然后线性的在双端队列里面搞搞;
这样求出了半平面交的边集,也顺带求出了点集;
求面积的话就直接叉积扫...
分类:
其他好文 时间:
2015-09-07 22:52:27
阅读次数:
262
Space AntTime Limit: 1000MSMemory Limit: 10000KTotal Submissions: 3661Accepted: 2281DescriptionThe most exciting space discovery occurred at the end o...
分类:
编程语言 时间:
2015-08-18 10:12:16
阅读次数:
158
这道题目我是暴力做出来的,复杂度是n^3,因为数组做多有700组,大约可以用这个复杂度,虽然严格来说500多才
是正常的,每次都是选择两个坐标然后确定一条直线,然后遍历一下其他点,用叉积形式判一下是否在一条直线上就ok
啦,网上说可以用极角排序来解,复杂度是n^2logn然而我看了看并没有想学的欲望。。。以后再学吧,,,还用到了
sscanf函数,看别人这样用的,就是在一个数组里匹配想要的类...
分类:
其他好文 时间:
2015-08-03 19:19:43
阅读次数:
121
任意线可以贪心移动到两点上。直接枚举O(n^3),会TLE。所以采取扫描法,选基准点,然后根据极角或者两两做叉积比较进行排排序,然后扫一遍就好了。旋转的时候在O(1)时间推出下一种情况,总复杂度为O(n^2logN)就可以过了。另外,本题有个很巧妙的技巧,就是一点等效与相反坐标的相反颜色的点。第一次...
分类:
编程语言 时间:
2015-08-01 00:52:16
阅读次数:
166
这道题的关键是用到了极角排序的方法,枚举一个固定点,其他点以此点为原心求出角度,然后排序,将数点的多少转化为数角度的多少。因为角度是有序的,便可以用一次扫描求出最大值。另外,还用到了一个小技巧,那就是利用对称性,将一侧的黑点转化成另一侧的白点,这样只需要数白点的个数就好了。
值得注意的是,为了形成那条分界线,我们枚举两个角度(也就是由基准点为原心的新坐标系中的点) ,使他们之间的夹角不超过1...
分类:
编程语言 时间:
2015-07-05 16:47:28
阅读次数:
178
每次都选最左边的点,然后以这个点为原点统计和这个点构成的三角形面积和不难想到极角排序然后由叉积很容易求出 1 const oo=1 shl 30; 2 eps=1e-8; 3 var i,j,k,m,n:longint; 4 x,y:array[0..6010] of longi...
分类:
其他好文 时间:
2015-05-27 15:23:57
阅读次数:
160
题目大意:给你一个N(N<=105)N(N<=10^5)个点的凸包,给你M(M<=105)M(M=Knum>=K输出YESYES,否则输出NONO。解题思路:首先我们求出这个凸包(听别人说这个凸包已经逆时针给出的了,但是我比较习惯以最左最下的点做基准来极角排序【注意:如果有几点在凸包的同一条边上,那么需要把...
分类:
其他好文 时间:
2015-05-25 10:11:55
阅读次数:
128
POJ Transmitters(计算几何 极角排序啊)...
分类:
编程语言 时间:
2015-05-21 00:07:38
阅读次数:
148
一个n边形的面积,可以三角剖分成n 个每个边和原点构成的三角形的有向面积
这样每条边等于一个有向面积,那么问题转化成只要求每条边能作为几个凸包的边
那么枚举一点O,这样对于任意一点X会有一条OX的边,而这条边构成凸包的数量,显然就是只能在和他夹角180度以内的边以内找,也就是有多少个点,就是2^num - 1(因为至少要有一个点)
于是进行极角排序,双指针扫一遍就能得到所有答案
代码:
...
分类:
其他好文 时间:
2015-04-29 13:35:23
阅读次数:
122