这题可以用线段树离散化做,用二维树状数组做了一下,不懂得可以看一下这篇文章:http://www.java3z.com/cwbwebhome/article/article1/1369.html?id=4804
题意:
给你一个s*s的正方形区域,先输入一个x,若x==0,则再输入一个s,若x==1,则输入x,y,a,表示矩阵中(x,y)这点的值加上a,若x==2,输入l,b,r,t,...
分类:
其他好文 时间:
2014-07-22 23:03:12
阅读次数:
263
以前见过这题,没做出来,知道是离线处理,这次仔细想了下,首先把出现的高度都map离散化一下,以离散化出来的数目g建树,把每个位置都开俩个vector,一个存以这个位置为L的询问,一个存以这个位置为R的询问。然后从1-g
进行更新,假如当前i是以第j个区间的开始位置,那么这时就可以询问一下 2 #i....
分类:
其他好文 时间:
2014-06-04 19:21:52
阅读次数:
241
以前用树状数组做过一次,现在用线段树再刷一次。。。
首先必须先离散化。。。
然后建立2颗线段树,第一颗表示往左走,每个节点的值的分布。
第二颗表示往右走,每个节点的值的分布。
然后根据左右走的关系,判断出x,y的值。
#pragma comment(linker, "/STACK:1024000000,1024000000")
#include
#include
#inclu...
分类:
其他好文 时间:
2014-06-03 01:25:54
阅读次数:
315
HDU 1264 Counting Squares (线段树-扫描线-矩形面积并)
题目大意:
给定你一些矩形左下右上角坐标点,或者左上右下坐标点,求这些矩形的面积并。
解题思路:
利用线段树扫描线的知识,此题不需要离散化。...
分类:
其他好文 时间:
2014-05-12 06:43:25
阅读次数:
442
题目大意:
给出N个立方体。
求一个三维空间中被包围三次的空间的体积之和。
思路分析:
发现Z的范围很小。那么我们可以枚举Z轴,然后对 x y做扫描线。
而且不用枚举所有的Z ,只需要将Z离散化之后枚举。
#include
#include
#include
#include
#define maxn 2222
#define debug puts("fuck!...
分类:
其他好文 时间:
2014-05-10 05:00:29
阅读次数:
467
题意:有一个强大的弓弩,可以射穿所有障碍,给n(n
解法:离散化所有的墙段点,以出发点为一端和每个墙端为另一端(加长到足够长),然后分别计算和多少线段非严相交。线段非严格相交的判定是:
1、严格相交(叉积判断)
2、点在线段上,这时叉积等于0并且点在线段之间
代码:/**************************************************...
分类:
其他好文 时间:
2014-05-09 21:49:44
阅读次数:
265
Increasing Speed LimitsTime Limit: 2000/10000 MS
(Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s):
481Accepted Submission(s):...
分类:
其他好文 时间:
2014-05-07 18:28:10
阅读次数:
475
Disharmony TreesTime Limit: 2000/1000 MS
(Java/Others)Memory Limit: 32768/32768 K (Java/Others)Total Submission(s):
663Accepted Submission(s): 307Prob...
分类:
其他好文 时间:
2014-05-05 10:16:18
阅读次数:
486
题目来源:POJ 2528 Mayor's posters
题意:很多张海报贴在墙上 求可以看到几张海报 看那两张图就行了 第一张俯视图
思路:最多2W个不同的数 离散化一下 然后成段更新 a[rt] = i代表这个区间是第i张报纸 更新玩之后一次query cover[i]=1代表可以看到第i张报纸
#include
#include
#include
using namespace...
分类:
其他好文 时间:
2014-05-02 20:44:06
阅读次数:
344
5KB的代码。。。250+行。。。就错在一个离散化上,郁闷了好久。。。
RANK就是找出第K位是多少
TOP是将某个人移至队首,对中间区间没有影响
QUERY是某个人的位置
则:
TOP:将目标点旋转至根部,然后删除,最后插入到队首
RANK:通过size查找即可,注意每个点的size是区间长度
QUERY:把该点旋转至根部,左子树的大小+1便是结果
...
分类:
其他好文 时间:
2014-04-27 21:23:00
阅读次数:
330