UVaLive 3695 City Game (扫描线)】的更多相关文章

题意:给定m*n的矩阵,有的是空地有的是墙,找出一个面积最大的子矩阵. 析:如果暴力,一定会超时的.我们可以使用扫描线,up[i][j] 表示从(i, j)向上可以到达的最高高度,left[i][j]表示(i, j) 的左边界,right[i][j]右边界. 这三个可以用递推来实现.从向下扫描,每次更新最大值. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <cstdio> #i…
题意:给平面上的 n 个点,找出一个矩形,使得边界上包含尽量多的点. 析:如果暴力那么就是枚举上下边界,左右边界,还得统计个数,时间复杂度太高,所以我们考虑用扫描线来做,枚举上下边界, 然后用其他方法来确定左右边界.我们定义left[i] 表示竖线左边位于上下边界上的点数(不包含在竖线上的点),on[i]表示竖线 i 上的点, 但不包含上下边界上的点,in[i]表示竖线 i 的上的点,但是包含上下边界上的点.那么我们可以递推.最后矩形边界上的点数为 left[i] - left[j] + on[…
City Park Problem's Link: http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=129725 Mean: 在网格中给你一些矩形,求最大连通块的面积. analyse: 由于题目保证了矩形不会相交,所以不用扫描线也可做. 先把所有的线段分为横向和纵向,然后排序,依次判断是否相邻,相邻就用并查集合并,最后再用并查集统计一下面积,取最大值即可. Time complexity: O(N) Source code…
https://vjudge.net/problem/UVALive-3029 题意: 给出一个只含有F和R字母的矩阵,求出全部为F的面积最大的矩阵并且输出它的面积乘以3. 思路: 求面积最大的子矩阵,可以用扫描线.参考训练指南(orz,虽然并不知道为什么用扫描线). 对于每一个格子包含F,我们可以把它向上拉成一条悬线,直到上面的格子为R,然后观察这条悬线可以扫到左边与右边的最大距离,那么我们所求的面积就是所有的悬线中 悬线的长度乘以(右边界 - 左边界 + 1)的最大值. 然后,需要计算悬线的…
City Park 题目连接: http://acm.hust.edu.cn/vjudge/contest/view.action?cid=122283#problem/F Description Porto is blessed with a beautiful city park. The park, in the western section of the city, borders the Atlantic Ocean. It has great lawns, small forest…
题目链接: http://acm.hust.edu.cn/vjudge/problem/87213 Strange Antennas Time Limit: 3000MS 题意 一个雷达能够辐射到的范围为等腰三角形,现在给你雷达的坐标,辐射范围和方向,问你求被奇数个雷达辐射到的网格有多少个. 题解 首先,雷达是建在交叉点上的,而考虑覆盖范围是在网格上的,所以需要坐标转换(题目样例第四行有错,应为1,5,4,0). 其次我们可以考虑每一行都做一遍,然后枚举每个雷达对这一行的影响,没个雷达对这一行的…
题目链接 类似求面积并..2Y.. #include <cstdio> #include <cstring> #include <string> #include <cmath> #include <algorithm> using namespace std; #define LL __int64 #define maxn 40100 #define lson l , m, rt<<1 #define rson m+1, r,rt&…
InputThere are multiple test cases in the input file. Each test case starts with one integer N, (1 ≤ N ≤ 100),the number of star systems on the telescope. N lines follow, each line consists of two integers: the Xand Y coordinates of the K-th planet sy…
题意:给定一个 n*m 的矩阵,表示有多少条道路与它相连,其中有一个-1,表示未知,道路只能横着和竖着,求-1处的值. 析:根据题意可知,一个点,与其他周围的四个点都可能相连的,也就是说肯定有共用道路的,所以,我们只要算四个点的数就好,然后依次推一下,就得到答案, 也就是说这里面的点可以分为两部分,一部分加起来减去另一部分,就是答案. 代码如下: #pragma comment(linker, "/STACK:1024000000,1024000000") #include <c…
P2061 [USACO07OPEN]城市的地平线City Horizon 扫描线 扫描线简化版 流程(本题为例): 把一个矩形用两条线段(底端点的坐标,向上长度,添加$or$删除)表示,按横坐标排序 $upd:$本题的底端点坐标简化为$(x,0)$ 蓝后对纵坐标建一棵线段树(本题需要对高度进行离散化). 每次对线段树进行覆盖$or$删除区间操作,顺便统计一下$k=$有多少点被覆盖到 而两次(线段)操作之间的长度为$r=x_{i}-x_{i-1}$ 于是两条线段之间被覆盖的面积即为$k*r$ (…