细节处理实在太重要了。

#include<cstdio>
#include<cstring>
#define MT 65533*4
#define Maxn MT*4
int i,x,y,now,k;
int xo[Maxn],e[Maxn],pd[MT];
char a,b,c;
inline void work(int k,int rt){
if(k<2){
xo[rt]=0;
e[rt]=k;
}else{
if(e[rt]>-1)
e[rt]^=1;
else
xo[rt]^=1;
}
}
void PushDown(int rt){
if(e[rt]>-1){
e[rt*2+1]=e[rt*2]=e[rt];
e[rt]=-1;
}
else{
if(e[rt*2]>-1) {e[rt*2]^=xo[rt]; xo[rt*2]=0;}
else xo[rt*2]^=xo[rt];
if(e[rt*2+1]>-1) {e[rt*2+1]^=xo[rt];xo[rt*2+1]=0;}
else xo[rt*2+1]^=xo[rt];
}
xo[rt]=0;
}
void ins(int k,int x,int y,int l,int r,int rt){
if(x<=l&&y>=r){
work(k,rt);
return;
}
PushDown(rt);
int m=(l+r)/2;
if(x<=m) ins(k,x,y,l,m,rt*2);
if(y>m) ins(k,x,y,m+1,r,rt*2+1);
}
void query(int l,int r,int rt){
if(e[rt]==1) {
for(int i=l;i<=r;i++)
pd[i]=1;
return;
}
if(e[rt]==0) return;
if(l>=r) return;
PushDown(rt);
int m=(l+r)/2;
query(l,m,rt*2);
query(m+1,r,rt*2+1);
}
int main()
{
while(scanf("%c %c%d,%d%c\n",&a,&b,&x,&y,&c)!=EOF){
if(b=='[') x=2*x; else x=2*x+1;
if(c==']') y=2*y; else y=2*y-1;
switch (a){
case 'U':
ins(1,x,y,0,MT,1);
break;
case 'I':
ins(0,0,x-1,0,MT,1);
ins(0,y+1,MT,0,MT,1);
break;
case 'D':
ins(0,x,y,0,MT,1);
break;
case 'C':
ins(0,0,x-1,0,MT,1);
ins(0,y+1,MT,0,MT,1);
ins(2,x,y,0,MT,1);
break;
case 'S':
ins(2,x,y,0,MT,1);
break;
}
}
query(0,MT,1);
k=0;
for(i=0;i<MT;i++)
if(1==pd[i]){
if(0==i||pd[i-1]==0){
if(i%2==0) printf("[%d",i/2);
else printf("(%d",(i-1)/2);
}
if(MT-1==i||pd[i+1]==0){
if(i%2==0) printf(",%d] ",i/2);
else printf(",%d) ",(i+1)/2);
}
k=1;
}
if(!k) printf("empty set\n");
return 0;
}

poj3225 线段树区间操作 (见鬼)的更多相关文章

  1. poj3225(线段树区间更新&hash)

    题目链接: http://poj.org/problem?id=3225 题意: 初始给一个全局为 0~65536 的区间  s, 然后不断地对区间 s 进行 并, 交, 差, 相对差等运算, 输出最 ...

  2. Bzoj 1798: [Ahoi2009]Seq 维护序列seq(线段树区间操作)

    1798: [Ahoi2009]Seq 维护序列seq Time Limit: 30 Sec Memory Limit: 64 MB Description 老师交给小可可一个维护数列的任务,现在小可 ...

  3. POJ 2528 ——Mayor's posters(线段树+区间操作)

    Time limit 1000 ms Memory limit 65536 kB Description The citizens of Bytetown, AB, could not stand t ...

  4. 线段树(区间操作) POJ 3325 Help with Intervals

    题目传送门 题意:四种集合的操作,对应区间的01,问最后存在集合存在的区间. 分析:U T [l, r]填充1; I T [0, l), (r, N]填充0; D T [l, r]填充0; C T[0 ...

  5. POJ 3225 Help with Intervals --线段树区间操作

    题意:给你一些区间操作,让你输出最后得出的区间. 解法:区间操作的经典题,借鉴了网上的倍增算法,每次将区间乘以2,然后根据区间开闭情况做微调,这样可以有效处理开闭区间问题. 线段树维护两个值: cov ...

  6. HDU - 6315(2018 Multi-University Training Contest 2) Naive Operations (线段树区间操作)

    http://acm.hdu.edu.cn/showproblem.php?pid=6315 题意 a数组初始全为0,b数组为1-n的一个排列.q次操作,一种操作add给a[l...r]加1,另一种操 ...

  7. HDU 4578——Transformation——————【线段树区间操作、确定操作顺序】

    Transformation Time Limit: 15000/8000 MS (Java/Others)    Memory Limit: 65535/65536 K (Java/Others)T ...

  8. 吉首大学校赛 K 白山茶与红玫瑰 (线段树区间操作)

    链接:https://ac.nowcoder.com/acm/contest/925/K来源:牛客网 题目描述 公元2019年6月22日,白山茶王国与红玫瑰王国展开大战,在世外仙境——天空花园处,双方 ...

  9. COJ 1010 WZJ的数据结构(十) 线段树区间操作

    传送门:http://oj.cnuschool.org.cn/oj/home/problem.htm?problemID=1001 WZJ的数据结构(十) 难度级别:D: 运行时间限制:3000ms: ...

随机推荐

  1. ES6学习笔记(十四)

    1.Promise的含义 Promise是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理和更强大.它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Prom ...

  2. dapper extensions (predicates)

    https://github.com/tmsmith/Dapper-Extensions/wiki/Predicates The predicate system in Dapper Extensio ...

  3. Opencv Mat的操作

    cout << mat 有错误的原因 You are using OpenCV built with VS10. The ostream operator << in the ...

  4. Security log is full,only administrator can log on to fix the problem(安全日志满了)

    When you login the system and see this error  “Security log on this system is full,only administrato ...

  5. 使用JS来实现验证码功能

    最近想为自己的Django博客添加验证码功能,本来想使用第三方库来实现的,不过考虑到添加第三方库对性能的影响,以及第三方库是否安全可靠的问题,还是用自己的代码来实现吧.反正用JS来实现验证码功能又不是 ...

  6. 十七、mysql 分区之 锁问题

    1.演示一个表锁,基于myisam CMD 1 CMD2 create table e1 (id int ,name char(20)); lock table e1 read; [select|in ...

  7. IBM MQ

    一,安装 1,先安装必备MQ\MQ60\Prereqs\IES\Setup.exe 2,再安装MQ\MQParms.exe 二,发送方 刚装好后,默认有一个管理器名,可以删除,自己重新建,以防有不可知 ...

  8. bootstrap 框架选型过程

    1.看有没有帮助文档,帮助文档的完整程度. 2.是否是我们业务需要的,花哨的功能真的有用吗? 对于偏pc端使用的系统 toggles意义不大 bootstrap和extjs的区别是什么呢? easyU ...

  9. 【BZOJ 1497】 [NOI2006]最大获利

    Description 新的技术正冲击着手机通讯市场,对于各大运营商来说,这既是机遇,更是挑战.THU集团旗下的CS&T通讯公司在新一代通讯技术血战的前夜,需要做太多的准备工作,仅就站址选择一 ...

  10. C# Windows - TabControl

    TabControl控件的属性 - 一般用于控制TabPages对象容器的外观,特别是显示的选项卡的外观 属性 说明 Alignment 控制选项卡在选项卡控件的什么位置显示 Appearance 控 ...