线段树模板 poj2777
来源:互联网 发布:软件兼容性测试工具 编辑:程序博客网 时间:2024/04/30 15:06
线段数涂色
#include <iostream>#include <algorithm>using namespace std;#define maxn 100005struct node{int left,right;int color;}tree[maxn*4];bool visit[40];int sum;void build(int left,int right,int id){tree[id].left =left,tree[id].right =right;if(left==right){tree[id].color =1;return;}tree[id].color =1;int mid=(left+right)>>1;build(left,mid,id*2);build(mid+1,right,id*2+1);}void insert(int st,int ed,int color,int id){if(tree[id].left ==st&&tree[id].right==ed){tree[id].color =color;return;}if(tree[id].color){tree[id*2].color =tree[id].color;tree[id*2+1].color =tree[id].color ;tree[id].color =0;}//tree[id].color =0;int mid=(tree[id].left +tree[id].right )>>1;if(mid>=ed)insert(st,ed,color,id*2);else if(mid<st)insert(st,ed,color,id*2+1);else{insert(st,mid,color,id*2);insert(mid+1,ed,color,id*2+1);}}void query(int st,int ed,int id){if(tree[id].color){if(!visit[tree[id].color ]){sum++;visit[tree[id].color]=true;}return;}int mid=(tree[id].left +tree[id].right )>>1;if(mid>=ed)query(st,ed,id*2);else if(mid<st)query(st,ed,id*2+1);else{int mid=(tree[id].left +tree[id].right )>>1;query(st,mid,id*2);query(mid+1,ed,id*2+1);}}int main(){char ch[5];int L,T,O,a,b,c;scanf("%d%d%d",&L,&T,&O);build(1,L,1);while(O--){scanf("%s",&ch);scanf("%d%d",&a,&b);if(a>b)swap(a,b);if(ch[0]=='C'){scanf("%d",&c);insert(a,b,c,1);}else if(ch[0]=='P'){sum=0;memset(visit,0,sizeof(visit));query(a,b,1);printf("%d\n",sum);}}return 0;}
- 线段树模板 poj2777
- POJ2777---线段树
- 线段树-POJ2777
- POJ2777(线段树)
- poj2777线段树
- poj2777 线段树
- poj2777(线段树)
- POJ2777线段树....
- POJ2777线段树
- poj2777(线段树)
- POJ2777【线段树】
- POJ2777 Count Color 线段树
- 线段树典型例题--poj2777
- 【poj2777】【线段树】Count Color
- poj2777线段树+lazy思想
- poj2777(延迟更新+线段树)
- 线段树区间更新poj2777
- 线段树 POJ2777 && 一些体会
- 10个MySQL数据库备份教程推荐
- MySQL数据库常用操作和技巧
- 社交网站未来或将形成“超级个人中心”
- 今天开始
- SqlServer性能提升之“逆标准化”
- 线段树模板 poj2777
- DEDE建站 模板丢失的紧急补救措施
- 网页设计中要关注的搜索优化知识
- linux tcp并发式服务器应用SELECT函数编写实例源代码(转载)
- 提高网站访问速度的六种方法
- 如何不生成XML文件通过Socket传XML文件内容
- 对于大流量网站的解决方案
- 深入浅出 Linux设备驱动中断处理介绍
- Linux设备驱动编程之中断处理