2012年5月25日
摘要: 1 #include<cstdio> 2 #define MAXN 100010 3 struct node 4 { 5 int left0,right0,v0,left1,right1,v1,lazy; 6 }; 7 node tree[MAXN<<2]; 8 inline int MAX(int x,int y) 9 { 10 return x>y?x:y; 11 } 12 inline int MIN(int x,int y) 13 { 14 return x>y?y:x; 15 } 16 inline void swap(int &x,int 阅读全文
posted @ 2012-05-25 01:08 DrunBee 阅读(430) 评论(0) 推荐(0) 编辑
  2012年5月24日
摘要: 1 #include<cstdio> 2 #define MAXN 100010 3 struct node 4 { 5 int left,right,res,add,x,y; 6 }; 7 node tree[MAXN<<2]; 8 int n; 9 inline int MAX(int x,int y) 10 { 11 return x>y?x:y; 12 } 13 inline int MIN(int x,int y) 14 { 15 return x>y?y:x; 16 } 17 inline void PushUp(int mid,int ... 阅读全文
posted @ 2012-05-24 17:04 DrunBee 阅读(601) 评论(1) 推荐(2) 编辑
摘要: 1 #include<cstdio> 2 #define MAXN 100010 3 struct node 4 { 5 int left,right,val; 6 }; 7 int a[MAXN]; 8 node tree[MAXN<<2]; 9 inline int MAX(int x,int y)10 {11 return x>y?x:y;12 }13 inline int MIN(int x,int y)14 {15 return x>y?y:x;16 }17 inline void PushUp(int mid,int L,int R,int rt 阅读全文
posted @ 2012-05-24 15:50 DrunBee 阅读(480) 评论(0) 推荐(1) 编辑
摘要: 1 #include<cstdio> 2 #define MAXN 500010 3 struct node 4 { 5 int sum; 6 int v1,v0; 7 int left0,left1; 8 int right0,right1; 9 }; 10 node tree[MAXN<<2]; 11 int cover[MAXN<<2],lazy[MAXN<<2]; 12 inline int MAX(int x,int y) 13 { 14 return x>y?x:y; 15 } 16 inline int MIN(int ... 阅读全文
posted @ 2012-05-24 10:58 DrunBee 阅读(288) 评论(0) 推荐(0) 编辑
摘要: 1 #include<cstdio> 2 #define MAXN 100010 3 struct node 4 { 5 int sum; 6 int v0,v1; 7 int left0,left1; 8 int right0,right1; 9 }; 10 node tree[MAXN<<2]; 11 int lazy[MAXN<<2],cover[MAXN<<2]; 12 inline int MAX(int x,int y) 13 { 14 return x>y?x:y; 15 } 16 inline int MIN(int ... 阅读全文
posted @ 2012-05-24 01:52 DrunBee 阅读(572) 评论(0) 推荐(1) 编辑
  2012年5月23日
摘要: 1 #include<cstdio> 2 #include<stack> 3 #define MAXN 50010 4 #define MAX(a,b) ((a)>(b)?(a):(b)) 5 using namespace std; 6 stack<int>st; 7 struct node 8 { 9 int left,right; 10 }; 11 node tree[MAXN<<2]; 12 void Build(int L,int R,int rt) 13 { 14 tree[rt].left=tree[rt].right=R-L 阅读全文
posted @ 2012-05-23 11:45 DrunBee 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 1 #include<cstdio> 2 #define MAX(a,b) ((a)>(b)?(a):(b)) 3 #define MAXN 50010 4 struct node 5 { 6 int right,left,val; 7 }; 8 node tree[MAXN<<2]; 9 int lazy[MAXN<<2]; 10 void Build(int L,int R,int rt) 11 { 12 lazy[rt]=-1; 13 tree[rt].left=tree[rt].right=tree[rt].val=R-L+1; 14 ... 阅读全文
posted @ 2012-05-23 10:49 DrunBee 阅读(380) 评论(0) 推荐(0) 编辑
  2012年5月22日
摘要: 1 #include<cstdio> 2 #include<cstring> 3 #define MAXN 200010 4 int big[MAXN<<2],small[MAXN<<2],lazy[MAXN<<2]; 5 int n,m,p; 6 inline int MIN(int x,int y) 7 { 8 return x>y?y:x; 9 } 10 inline int MAX(int x,int y) 11 { 12 return x>y?x:y; 13 } 14 inline void PushUp(int 阅读全文
posted @ 2012-05-22 22:39 DrunBee 阅读(385) 评论(0) 推荐(1) 编辑
摘要: 1 #include<cstdio> 2 #define MAX(a,b) ((a)>(b)?(a):(b)) 3 #define MAXN 50010 4 char s[MAXN]; 5 int tree[MAXN<<2]; 6 inline void PushUp(int rt) 7 { 8 tree[rt]=tree[rt<<1]+tree[rt<<1|1]; 9 } 10 inline bool OK(int i) 11 { 12 return s[i]=='w'&&s[i+1]=='b 阅读全文
posted @ 2012-05-22 20:21 DrunBee 阅读(389) 评论(0) 推荐(1) 编辑
摘要: 1 #include<cstdio> 2 #define MAXN 100010 3 int tree[MAXN<<2]; 4 inline void PushUp(int rt) 5 { 6 tree[rt]=tree[rt<<1]+tree[rt<<1|1]; 7 } 8 void Build(int L,int R,int rt) 9 {10 if(L==R)11 scanf("%d",&tree[rt]);12 else13 {14 int mid=(L+R)>>1;15 Build(L,mid,r 阅读全文
posted @ 2012-05-22 19:47 DrunBee 阅读(324) 评论(0) 推荐(0) 编辑