【wikioi1299】 切水果
来源:互联网 发布:nginx最大连接数是多少 编辑:程序博客网 时间:2024/04/30 15:45
#include<iostream>#include<cstdio>using namespace std;struct data{int l,r,sum;bool tag;}tr[8500001];int n,m;void build(int k,int s,int t){tr[k].l=s;tr[k].r=t;if(s==t){tr[k].sum=1;return;}int mid=(s+t)>>1;build(k<<1,s,mid);build(k<<1|1,mid+1,t);tr[k].sum=tr[k<<1].sum+tr[k<<1|1].sum;}/*#include<iostream>#include<cstdio>using namespace std;int n,m;struct data{ int l,r,sum; bool tag;}tr[8500001];void build(int k,int s,int t){ tr[k].l=s;tr[k].r=t; if(s==t){tr[k].sum=1;return;} int mid=(s+t)>>1; build(k<<1,s,mid); build(k<<1|1,mid+1,t); tr[k].sum=tr[k<<1].sum+tr[k<<1|1].sum;}*/void update(int k,int s,int t){if(tr[k].tag){tr[k].sum=0;tr[k<<1].tag=tr[k<<1|1].tag=1;return;}int l=tr[k].l,r=tr[k].r;if(s==l&&t==r){tr[k].tag=1;tr[k].sum=0;return;}int mid=(l+r)>>1;if(t<=mid)update(k<<1,s,t);else if(s>mid)update(k<<1|1,s,t);else{update(k<<1,s,mid);update(k<<1|1,mid+1,t);}tr[k].sum=tr[k<<1].sum+tr[k<<1|1].sum;}int main(){scanf("%d %d",&n,&m);build(1,1,n);for(int i=1;i<=m;i++){int l,r;scanf("%d %d",&l,&r);update(1,l,r);printf("%d\n",tr[1].sum);}return 0;}
0 0
- 【wikioi1299】 切水果
- 切水果
- [Unity3d]水果忍者-切水果功能
- [Unity3d]水果忍者-切水果功能
- 多线程游戏--切水果
- 开发切水果游戏
- Codevs 1299 切水果
- 切水果 [Codevs1299]
- CODEVS PROBLEM1299切水果
- scauoj_11158 切水果
- 【codevs 1299】切水果
- 【codevs 1299】切水果
- 1299 切水果
- Kinect切水果
- 水果
- 水果
- 水果
- 水果
- X-Code5中如何修改ARC
- 黑马程序员-C#面向对象之封装
- Linux中线程与CPU核的绑定
- visual studio 10 cocos2dx项目移植到eclipse的android项目(配置请参照上一篇文章开发环境搭建)
- poj 3176 Cow Bowling dp
- 【wikioi1299】 切水果
- poj 3233 矩阵乘法累加
- 奇怪的比赛
- HDU 畅通工程系列
- 第一周作业-周末提高班
- 一道很火的面试题:求子数组的最大和
- UML---Class Diagram
- 【wikioi1191】 数轴染色
- apue源代码编译和使用