摘要: 线段树单点更新 因为CASE之间的换行WA了两次 1 #include 2 #include 3 const int maxn=200000+5; 4 int sum[maxn>1;18 build(l,m,rt>1;30 if(x>1;41 int ret=0;42 if(Lm) ret+=query(L,R,m+1,r,rt<<1|1);44 return ret;45 }46 int main()47 {48 int n;49 while(scanf("%d",&n)&&n)50 {51 if(CASE!=1... 阅读全文
posted @ 2013-08-25 15:36 sooflow 阅读(323) 评论(0) 推荐(0) 编辑
摘要: 线段树加二分查找 1 #include 2 #include 3 #include 4 using namespace std; 5 const int maxn=50001; 6 const int INF=100000; 7 int sum[maxn>1; 36 build(l,m,rt>1; 46 sum[rt>1; 71 if(Lm) update(L,R,v,m+1,r,rt>1; 87 int ret=0; 88 if(Lm) ret+=query(L,R,m+1,r,rtlen-query(a,n,1,n,1))120... 阅读全文
posted @ 2013-08-25 14:39 sooflow 阅读(606) 评论(0) 推荐(0) 编辑
摘要: low_bound() 1 int lower_bound(int *A,int x,int y,int v) 2 { 3 int m; 4 while(x>1; 7 if(A[m]>=v) y=m; 8 else x=m+1; 9 }10 return x;11 } 阅读全文
posted @ 2013-08-25 00:08 sooflow 阅读(78) 评论(0) 推荐(0) 编辑