Farmer John has N (1 <= N <= 25,000) rectangular barns on his farm, all with sides parallel to the X and Y axes and integer corner coordinates in the range 0..1,000,000. These barns do not overlap although they may share corners and/or sides with ot…
Barn Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2465   Accepted: 666 Description Farmer John has N (1 <= N <= 25,000) rectangular barns on his farm, all with sides parallel to the X and Y axes and integer corner coordinat…
题链:http://poj.org/problem? id=3168 Barn Expansion Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 2087   Accepted: 544 Description Farmer John has N (1 <= N <= 25,000) rectangular barns on his farm, all with sides parallel to the X and…
题目链接:id=3168">POJ 3168 Barn Expansion 题意:抽象出来就是给出n个矩形的坐标是(左下角和右上角的坐标,矩形的边都是平行x,y轴),问有几个矩形和其它矩形没有接触(仅仅存在边接触或者点接触,不存在有公共面积). 思路:把边分成两类,平行x轴和平行y轴.对边进行排序.然后for一遍推断是否有相交就可以 AC代码: #include <stdio.h> #include <vector> #include <map> #in…
题目大意: 平面上有n个两两不相交的圆,给定圆的圆心(x,y)和半径 r 求所有最外层的 即 不包含于其他圆内部的圆 挑战258页 平面扫描 记录所有圆的左端和右端 排序后 逐一扫描 将到当前圆为止的最外层的圆存入数组 当遇到一个圆的左端 判断 这个圆 是否被 离它最近的上下的两个已存入的最外层的圆 包含 若被包含 则跳过该圆 若未被包含 说明其是一个最外层的圆 存入数组 这里不会有 它包含上下其中某个圆 的情况出现 因为包含某个圆 那么 该圆的左端 必定位于 被包含圆的左端的左边 但是平面扫描…
作者: Panagiotis Bouros ∗Department of Computer ScienceAarhus University, Denmarkpbour@cs.au.dkNikos Mamoulis †Dept. of Computer Science & EngineeringUniversity of Ioannina, Greecenikos@cs.uoi.gr 翻译:陈祥春 摘要 区间连接是在时间,空间和不确定数据库中查找应用程序的基本操作.尽管已经提出了许多用于区间连接…
平面最近点对,即平面中距离最近的两点 分治算法: int SOLVE(int left,int right)//求解点集中区间[left,right]中的最近点对 { double ans; //answer 0)    调用前的预处理:对所有点排序,以x为第一关键词y为第二关键字 , 从小到大; 1)    将所有点按x坐标分成左右两部分; /*      分析当前集合[left,right]中的最近点对,有两种可能: 1. 当前集合中的最近点对,点对的两点同属于集合[left,mid]或同属…
题目大意 给定平面上N个矩形的位置(给出矩形的左下角和右上角的坐标),这些矩形有些会有重叠,且重叠只会出现矩形的边重合全部或部分,矩形的顶点重合,而不会出现一个矩形的顶点位于另一个矩形的内部.     求出所有不重叠的矩形的个数. 题目分析 将每个矩形分成4个点,记录每个点所属的矩形id,对4*N个点进行按照x坐标和y坐标排序.     然后,沿着x方向进行扫描,对于相同的x,沿着该x坐标,从下向上找那些x坐标等于x的点的y坐标,判断该点所在矩形是否出现重合.若重合,则将该点所属的矩形记为重叠.…
[题目链接] http://poj.org/problem?id=3168 [题目大意] 给出一些矩形,没有相交和包含的情况,只有相切的情况 问有多少个矩形没有相切或者边角重叠 [题解] 我们将所有的与x轴平行的线段和与y周平行的线段分开处理,判断是否出现重合 对重合的两个矩形进行标识,最后没有被标识过的矩形数目就是答案. [代码] #include <cstdio> #include <vector> #include <algorithm> #include <…
题目链接 题意:有n个圆,圆之间不存在相交关系,求有几个不被其他任何圆包含的圆,并输出圆的编号: #include <iostream> #include <cstdio> #include <cstring> #include <cstdlib> #include <cmath> #include <vector> #include <queue> #include <map> #include <al…