题目链接:点击打开链接题意:给定二维坐标上的4个点问:找一个点使得这个点距离4个点的距离和最小输出距离和。思路:若4个点不是凸4边形。则一定是端点最优。否则就是2条对角线的交点最优,能够简单证明一下。对于凸4边形则先极角排序一下。#include #include #include #include...
分类:
编程语言 时间:
2015-01-22 19:57:07
阅读次数:
194
RT。求平面上点集的凸包。
1. GrahamScan算法,《算法导论》上的例子,先找到y最小的点O,以O建立极坐标,其它点按极角排序后再从头开始扫描(配合stack实现)。
2.BruteForce算法,依赖定理:如果一个点在平面上某三个点组成的三角形内,那么这个点不可能是凸包上的点。
所以暴力的思路是平面上的点每4个进行枚举,并判断是否满足定理,若满足,则删除这个点继续找;一直找到没有满...
分类:
编程语言 时间:
2014-12-16 19:14:22
阅读次数:
306
题目链接Space AntTime Limit:1000MSMemory Limit:10000KTotal Submissions:3219Accepted:2059DescriptionThe most exciting space discovery occurred at the end o...
分类:
编程语言 时间:
2014-11-27 22:04:00
阅读次数:
322
题目链接:点击打开链接
题意:
给定二维坐标上的4个点
问:
找一个点使得这个点距离4个点的距离和最小
输出距离和。
思路:
若4个点不是凸4边形。则一定是端点最优。
否则就是2条对角线的交点最优,可以简单证明一下。
对于凸4边形则先极角排序一下。
#include
#include
#include
#include
using namespace std;
type...
分类:
编程语言 时间:
2014-11-11 00:52:02
阅读次数:
241
Problem Description
Matt has a company, Always Cook Mushroom (ACM), which produces high-quality mushrooms.
ACM has a large field to grow their mushrooms. The field can be considered as a 1000 *...
分类:
编程语言 时间:
2014-10-30 23:55:44
阅读次数:
309
大水题=_=,可我想复杂了…… 很裸的暴力,就是加了个小优化…… 叉积求面积 :abs(xi*yj - yi*xj) 所以去掉绝对值,把 xi 和 xj 提出来就可以求和了 去绝对值加个极角排序,每次把最左边的点当成原点,然后剩下的排序,接着枚举第二个点,求叉积之和…… 坐标都是整数,用...
分类:
其他好文 时间:
2014-10-04 19:53:47
阅读次数:
291
题目大意:
在一个1000*1000的二维平面上,每一个整点都有一个权值,权值大小是 the production in the grid points (x, y) is (x + A)(y + B) where A, B are two constant.
思路分析:
先离线处理出所有的询问,对于每一个询问都有一个极角,按照极角排序。
然后对于平面上每一个点,都依次的加入到B...
分类:
其他好文 时间:
2014-09-25 03:55:08
阅读次数:
247
题目大意:按顺序给出一些点。可以构成一个多边形,问多边形是否有核。
解题思路:
半平面交。模版题。
用的是ZZY的O(Nlogn)的算法。
算法大体思路是这样的:
step1. 将所有半平面按极角排序,对于极角相同的,选择性的保留一个。 O(nlogn)
step2. 使用一个双端队列(deque),加入最开始2个半平面。
step3. 每次考虑一个新的半平面:
a.whi...
分类:
其他好文 时间:
2014-08-28 14:55:09
阅读次数:
264
题目链接题意 : 对输入的点极角排序思路 : 极角排序方法#include #include #include #include using namespace std;struct point{ double x,y;}p[50],pp;double cross(point a,point ...
分类:
其他好文 时间:
2014-08-28 14:45:59
阅读次数:
175
题目大意:
在平面上有一些点,每个点都有0,1其中一个属性。要求用一条直线将平面分成两部分。其中一部分取属性为0的点,另一部分取属性为1的点。若点在直线上全部取走,问最多能取多少个点。
解题思路:
扫描线算法。枚举任意一点,其他点依照那一点进行极角排序。扫描获得最大值。
注意:
1、因为 atan2方式的极角排序有精度误差,在这里需要用叉积方式排序。否则就...
分类:
其他好文 时间:
2014-08-25 21:11:44
阅读次数:
226