[codevs1191]数轴染色
来源:互联网 发布:热血传奇王者辅助源码 编辑:程序博客网 时间:2024/04/27 22:46
题目:
我是超链接
题解:
flag[i]表示是否被完全染色
代码:
#include <cstdio>#include <iostream>#include <cstring>#define N 5000000using namespace std;bool flag[N*4+5],delta[N*4+5];void updata(int now)//flag[i]==true 全是白的{flag[now]=flag[now<<1]&&flag[now<<1|1];}void pushdown(int now){if (delta[now]){delta[now<<1]=true;delta[now<<1|1]=true;delta[now]=0;flag[now<<1]=true;flag[now<<1|1]=true;}}void change(int now,int l,int r,int lrange,int rrange){pushdown(now);if (lrange<=l && rrange>=r){flag[now]=true;delta[now]=true;return;}int mid=(l+r)>>1;if (mid>=lrange) change(now<<1,l,mid,lrange,rrange);if (mid<rrange) change(now<<1|1,mid+1,r,lrange,rrange);updata(now);}int qurry(int now,int l,int r,int lrange,int rrange){ pushdown(now);if (l>=lrange && rrange>=r && flag[now]) return r-l+1;if (l==r) return flag[now];int mid=(l+r)>>1,ans=0;if (mid>=lrange) ans+=qurry(now<<1,l,mid,lrange,rrange);if (mid<rrange) ans+=qurry(now<<1|1,mid+1,r,lrange,rrange);return ans;}int main(){int n,m,i,a,b;scanf("%d%d",&n,&m);for (i=1;i<=m;i++){scanf("%d%d",&a,&b);change(1,1,n,a,b);printf("%d\n",n-qurry(1,1,n,1,n));} }
0 0
- codevs1191 数轴染色
- 【codevs1191】数轴染色
- [codevs1191]数轴染色
- Codevs1191数轴染色
- 【codevs1191】数轴染色 并查集
- 【codevs1191】数轴染色 并查集
- [codevs1191]数轴染色 并查集
- CodeVS1191 数轴染色 解题报告【并查集】
- 数轴染色
- 数轴染色
- Wikioi-1191-数轴染色
- wiki-1191数轴染色
- 【wikioi1191】 数轴染色
- wikioi1191 数轴染色
- Codevs 数轴染色
- 1191 数轴染色
- Codevs 1191 数轴染色
- 【codevs 1191】数轴染色
- Android 获取手机经纬度
- linux 查看CPU核数
- xcode shortcut
- oracle的scott用户默认表sql删除后恢复和字段
- QT qml ListView 分页/翻页
- [codevs1191]数轴染色
- 以太坊私有链环境下智能合约部署流程
- Hadoop_eclipse开发配置
- 利用QWebView加载mjpg图片
- linux shell实现随机数多种方法(date,random,uuid)
- Day3 复合类型
- objective c, c, c++, java
- PHP中的静态方法和非静态方法调用方式再解
- LeetCode-504. Base 7