
线段树
文章平均质量分 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 · 436 阅读 · 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 100010 int 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 · 467 阅读 · 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 · 754 阅读 · 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<<30 int 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 · 611 阅读 · 0 评论 -
线段树单点更新
hdu 1166 敌兵布阵 单点加减和区间求和 #include #include #define maxn 50005 int 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 · 475 阅读 · 0 评论