
线段树
文章平均质量分 71
yan_____
不跟你介绍
展开
-
poj 3468 成段加减
poj3468 A Simple Problem with Integers#include#include#define maxn 100010#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define INF 1<<30__int64 add[maxn<<2];__int64 sum[maxn<<2];int n,q;原创 2013-03-03 15:42:59 · 425 阅读 · 0 评论 -
hdu 1698 成段改变值
hdu 1698 Just a hook#include#include#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define maxn 100010int sum[maxn<<2];int col[maxn<<2];int n,q;void pushUp(int rt){ sum[rt]=sum[rt<<1]+原创 2013-03-03 13:58:04 · 455 阅读 · 0 评论 -
hdu 2528 海报覆盖 离散化 成段染色
poj2528 Mayor’s posters每个数字是一段单位长度,要在排序后的数组中把相距大于1的点之间再加上一个数字,表示断开给出下面两个简单的例子应该能体现普通离散化的缺陷:例子一:1-10 1-4 5-10例子二:1-10 1-4 6-10普通离散化后都变成了[1,4][1,2][3,4]线段2覆盖了[1,2],线段3覆盖了[3,4],那么线段1是否被完全覆盖原创 2013-03-03 19:20:56 · 736 阅读 · 0 评论 -
poj 2823 线段树求区间最值
poj 2823#include#include#define lson l,m,rt<<1#define rson m+1,r,rt<<1|1#define maxn 1001020#define INF 1<<30int min(int a,int b){ return a>b?b:a;}int max(int a,int b){ return a>b?原创 2013-03-07 16:08:14 · 600 阅读 · 0 评论 -
线段树单点更新
hdu 1166 敌兵布阵单点加减和区间求和#include#include#define maxn 50005int sum[maxn<<2];void pushup(int rt){ sum[rt]=sum[rt<<1]+sum[rt<<1|1];}void build(int l,int r,int rt){ if(l==r) {原创 2013-02-27 18:25:25 · 466 阅读 · 0 评论