题目链接:点击打开链接
题意:
给定n个点,m个询问的无向树(1为根)
下面n个数表示每个点的权值
下面n-1行给出树
操作1:x点权值+v, x的第 i & 1 的儿子-v, 第 !(i&1) 的儿子+v
操作2:询问x点权值
dfs把树转成序列
根据深度把点分成2组
分别用线段树维护。。
然后Y一下
#include
#include
#include
#include
...
分类:
其他好文 时间:
2014-06-25 08:41:42
阅读次数:
239
Description
现在请求你维护一个数列,要求提供以下两种操作: 1、 查询操作。语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值。限制:L不超过当前数列的长度。 2、 插入操作。语法:A n 功能:将n加上t,其中t是最近一次查询操作的答案(如果还未执行过查询操作,则t=0),并将所得结果对一个固定的常数D取模,将所得答案插入到数列的末尾。限制:n是非负整数...
分类:
Web程序 时间:
2014-06-25 07:37:25
阅读次数:
298
本题就是要往墙上贴海报,问最后有多少可见的海报。
其实本题的难点并不是线段树,而是离散化。
因为数据很大,直接按原始数据计算那么就会爆内存和时间的。
故此需要把数据离散化。
比如有海报1 6 7 9 20 100 5 1000的原始数据,直接计算需要1-1000的内存,离散化之后只需要8内存,因为只有4组数据8个数。
本题更进一步高级一点的离散化就是需要把不相邻的两个数据插入一...
分类:
其他好文 时间:
2014-06-24 15:47:53
阅读次数:
222
poj 2151 Check the difficulty of problems(线段树+概率)...
分类:
其他好文 时间:
2014-06-22 07:42:40
阅读次数:
225
题目链接:http://codeforces.com/problemset/problem/216/D
题意:
对于一个梯形区域,如果梯形左边的点数!=梯形右边的点数,那么这个梯形为红色,否则为绿色,
问:
给定的蜘蛛网中有多少个红色。
2个树状数组维护2个线段。然后暴力模拟一下,因为点数很多但需要用到的线段树只有3条,所以类似滚动数组的思想优化内存。
#include
#includ...
分类:
Web程序 时间:
2014-06-22 07:11:35
阅读次数:
205
【原题】
3225: [Sdoi2008]立方体覆盖
Time Limit: 2 Sec Memory Limit: 128 MB
Submit: 51 Solved: 36
[Submit][Status]
Description
A君近日为准备省队选拔,特意进行了数据结构的专项训练。训练过程中就遇到了“矩形面积并”这道经典问题,即:给出N个各边与坐标轴平行(垂直...
分类:
其他好文 时间:
2014-06-22 00:18:40
阅读次数:
299
这道题也有点新意,就是需要记录最小值段和最大值段,然后成段更新这个段,而不用没点去更新,达到提高速度的目的。
本题过的人很少,因为大部分都超时了,我严格按照线段树的方法去写,一开始居然也超时。
然后修补了两个地方就过了,具体修改的地方请参看程序。
知道最大值段和最小值段,然后修补一下就能过了。不是特别难的题目。
#include
#include
#include
using na...
分类:
其他好文 时间:
2014-06-21 20:14:04
阅读次数:
230