
线段树
文章平均质量分 76
hzasrd
这个作者很懒,什么都没留下…
展开
-
poj3264 Balanced Lineup(线段树orRMQ)
题意很简单,给你n个数,有m个询问,每次询问从l到r这个区间内,最大值减去最小值答案是多少;数据有点大,暴力肯定会超时;这道题可以有两种方法来写,先说一下代码比较简单的方法,RMQ,它先用了dp打表,然后询问区间直接查找:#include#include#include#includeint dpmin[50005][20],dpmax[50005][20],a[50005];i原创 2016-08-12 11:40:25 · 253 阅读 · 0 评论 -
hdu1166 敌兵布阵(线段树经典的单点更新)
中文题目,题意还是很简单的,给你n个数,然后有4种命令方式:(1) Add i j,i和j为正整数,表示第i个营地增加j个人(j不超过30) (2)Sub i j ,i和j为正整数,表示第i个营地减少j个人(j不超过30); (3)Query i j ,i和j为正整数,i(4)End 表示结束,这条命令在每组数据最后出现;要求对每个Query输出相应答案。很明显,对于区原创 2016-08-12 18:17:35 · 283 阅读 · 0 评论 -
hdu2795 Billboard(线段树,单点更新)
关键在于建树更新,能想到如何建树如何查找的话,这就是一道水题,想不到的话就是一道难题。一共最多有n个宣传板,所以我们可以建一个线段树,它的叶子节点依次从1到n;这样每次查找能否放下的时候,从左儿子开始查找,看左儿子所在区间的最大值是否能放下当前的木板,能放下的话更新放下后区间的值,不能放下的话从右儿子查找,递归下去就可以了;#include#include#include#include原创 2016-08-12 20:53:15 · 273 阅读 · 0 评论