线段树
文章平均质量分 74
ehi11
这个作者很懒,什么都没留下…
展开
-
poj3468 A Simple Problem with Integers 线段树区间累加求和
#include #include using namespace std; #define LL long long #define maxn 111111 #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 LL add[maxn<<2];//add记录的是子节点一致增量,并不是累加和. LL sum[maxn<<2]; void p原创 2012-08-02 22:18:15 · 645 阅读 · 0 评论 -
hdu 敌兵布阵 线段树基础
/*第一道线段树...参考了not only success的代码风格,挺好的. 这是一道单点更新的线段树.先修改叶子,然后递归修改祖先.也可用树状数组.*/ #include #include #define maxn 50001 #define lson l,mid,rt<<1//<<箭头指向的为移动的方向 #define rson mid+1,r,rt<<1|1 i原创 2012-08-02 19:09:13 · 628 阅读 · 0 评论 -
hdu I hate it 区间最大值 线段树
#include #define maxn 200001 #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 int MAX[maxn<<2]; int n,m; int max(int a,int b) { if(a>b) return a; else return b; } void pushup(原创 2012-08-02 19:11:07 · 745 阅读 · 0 评论 -
hdu Just a Hook 线段树成段更新.cpp
#include #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 #define maxn 111111 int col[maxn<<2]; int sum[maxn<<2]; void pushup(int rt) { sum[rt]=sum[rt<<1]+sum[rt<<1|1]; } void push原创 2012-08-02 19:12:31 · 465 阅读 · 0 评论 -
求最大值的条件下的位置 hdu Billboard
//思路:以竖直高度为x轴,则x轴的宽度应该为1到min(h,n) //该步骤是动态的过程,开始时横坐标为1,慢慢变为2,3,4,最大值的更新 //开始是1,2的父亲,然后是2,3的最大值,接着是3,4...... #include #define maxn 200200 #define lson l,mid,rt<<1 #define rson mid+1,r,rt<<1|1 i原创 2012-08-02 19:13:21 · 452 阅读 · 0 评论 -
Atlantis 线段树经典问题 矩形面积并
/*这个很多参考了NotOnlySuccess的思路。cnt用的记为精妙啊。 将区间起始端点标记为1,末端点标记为-1. 则进入一个矩形为1,离开一个矩形为-1,cnt不为0表示线段有重叠。 先对纵坐标进行排序,在x轴上求相应区间的最大值,取根节点即可。*/ #include #include #include #include #define maxn 2222 #define lson原创 2012-08-03 23:22:37 · 788 阅读 · 0 评论 -
线段树+DP 求区间连续最大子段和 hoj Candy
/* f为从左端开始的最大子段和,b为从右端开始的最大子段和。 pushup中的为最大字段和的状态转移方程。*/#include #include #define maxn 100001 #include using namespace std; int m[maxn<<2],f[maxn<<2],b[maxn<<2],sum[maxn<<2]; void pushup(int rt)原创 2013-01-22 21:17:50 · 2429 阅读 · 0 评论 -
Count Color 线段树成段更新 hoj &poj
/*注意在查询的时候要将标记下方。*/ #include #include #define maxn 100001 int c[maxn<<2]; bool color[31]; int lazy[maxn<<2]; void swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; } void build(in原创 2013-01-22 21:21:07 · 659 阅读 · 0 评论