也是很久之前的题目,一直没做做完之后觉得基本的离散化和扫描线还是不难的,由于本题要离散x点的坐标,最后要计算被覆盖的x轴上的长度,所以不能用普通的建树法,建树建到r-l==1的时候就停止,表示某段而不是某点,同样,左子树和右子树要变成 L MID , MID R比如1-4子树就是 1-2,2-4。。...
分类:
其他好文 时间:
2014-07-27 21:44:45
阅读次数:
260
题目链接题意:给一个m*n的矩阵, 其中一些格子是空地(F), 其他是障碍(R)。找一个全部由F组成的面积最大的子矩阵, 输出其面积乘以3的结果。思路:如果用枚举的方法,时间复杂度是O(m^2 n^2);因为不但要枚举每一个点,而且矩阵的大小不知道,所以还要枚举长和宽。可以通过枚举每一个点,求该点所...
分类:
其他好文 时间:
2014-07-27 10:15:02
阅读次数:
171
题目链接非原创 原创地址:http://blog.csdn.net/jingqi814/article/details/26117241题意:输入n座山的信息(山的横坐标,高度,山底宽度),计算他们的轮廓线,即露出来的表面边长,有些山是重叠的不计。空白地带不计,每座山都是等腰三角形。分析:大白书P4...
分类:
其他好文 时间:
2014-07-26 17:10:52
阅读次数:
329
题目大意:
求一个窗口覆盖最多的星星的权值。
思路分析:
每一个星星看成
左下点为x y
右上点为x+w-1 y+h-1 的矩形。
然后求出最大覆盖的和。
#include
#include
#include
#include
#define lson num<<1,s,mid
#define rson num<<1|1,mid+1,e
#define max...
PKU暑期培训第一天,这次培训人很多,但是感觉打酱油的也不少,不知道大牛有多少。第一天都是讲线段树的,课件的话和往常一样,没什么变化。具体的话,讲了线段树和树状数组。线段树的话讲了单点更新,成段更新,扫描线已经离散化。然后随便提了提树状数组。估计明天再讲一点点,然后接着是讲并查集,多串匹配什么的。线...
分类:
其他好文 时间:
2014-07-20 09:06:47
阅读次数:
509
题意:
求矩形面积的并 每个矩形里面有个小的矩形被挖空
思路:
经典的线段树扫描线 我竟然坑了3个小时没写出来…真是鄙视自己!!
学过扫描线的都会有思路 这里提出一个错误想法…(就是我的…)
你要是这样给线赋权值就大错特错了 因为会发现线段树的结构使得操作变得很麻烦
当你想更新某段区间的时候 并不知道准确的down到哪里 也不知道更新完了up要如何合并区间
当然像我一样一开始都更新到叶子节点是必须TLE的… TAT
正确思路是这样的
划分出4个矩形再求 为什么这样就对了呢? 因为不...
分类:
其他好文 时间:
2014-07-19 23:32:09
阅读次数:
313
q次询问,每次询问可以对矩阵某一个值改变(0变1,1变0) 或者是查询子矩阵的最大面积,要求这个这个点在所求子矩阵的边界上,且子矩阵各店中全为1
用up[i][j]表示(i,j)这个点向上能走到的最长高度 若(i,j)为0 则up[i][j]值为0
同理,维护down,left, right数组
则每次查询时,从up[i][j]枚举至1作为子矩阵的高度,然后途中分别向左右扩展。若up[i]...
分类:
其他好文 时间:
2014-07-17 20:35:30
阅读次数:
320
Description
Byteman, one of the most deserving employee of The Goldmine of Byteland, is about to retire by the end of the year. The Goldmine management would like to reward him in acknowledgment...
分类:
其他好文 时间:
2014-07-17 10:24:12
阅读次数:
307
Atlantis
Time Limit: 1000MS
Memory Limit: 10000K
Total Submissions: 16882
Accepted: 6435
Description
There are several ancient Greek texts that contain descriptions...
分类:
其他好文 时间:
2014-07-16 17:31:31
阅读次数:
165
题目链接:
题意:给定n个矩阵(底边总是贴着x轴)
然后找到一条包围在矩阵上方的路径,输出路径上的点
给定n
下面n行给定 y [x1, x2] 表示矩阵的高度和2个x轴坐标
思路:
扫描线维护每段区间的线段 最大的y值
则我们访问每个x轴坐标,就相当于访问x轴坐标向右最短的那个小区间上的最大y值。
则可以得到[x,y] 和 [x+1, y] 这样2个点
当我们发现存在高度差时(...
分类:
其他好文 时间:
2014-07-16 14:07:19
阅读次数:
245