博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【分块】bzoj3226 [Sdoi2008]校门外的区间
阅读量:7254 次
发布时间:2019-06-29

本文共 822 字,大约阅读时间需要 2 分钟。

题解见 : http://blog.csdn.net/iamzky/article/details/41088151

ORZ ZKY

2个懒标记:是否翻转,覆盖成了什么。

怎么处理一个块上有两个标记的情况呢?

若该块原来没有任何标记,或要打的标记和原本的标记种类相同,则直接打上标记;

若已有翻转标记,再覆盖时则先清除翻转标记,再打上覆盖标记;

若已有覆盖标记,再翻转时,则直接将覆盖标记取反。

So 某个块上同时只会有1个标记。

P.S.分块此题挺快的……

1 #include
2 #include
3 using namespace std; 4 #define sz 370 5 const int n=131070; 6 char op[1],cl,cr; 7 int x,y,num[132000],l[sz],r[sz],cov[sz],sum; 8 bool a[132000],spin[sz],goal; 9 void makeblock() 10 { 11 for(sum=1;sum*sz
>1); 94 if(i&1) {printf("%d",i+1>>1); putchar(')');} 95 else {printf("%d",i>>1); putchar(']');} 96 putchar(' '); 97 } 98 } 99 if(!goal) puts("empty set");100 return 0;101 }

转载于:https://www.cnblogs.com/autsky-jadek/p/4126107.html

你可能感兴趣的文章
mysql导入导出数据出现ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option...
查看>>
清除vista通知区域历史记录手动清除哦
查看>>
redmien使用技巧,按分派人分组显示问题,方便跟踪
查看>>
Project Server 2013新手入门 (五)配置用户登录
查看>>
linux下yum三种搭建方法
查看>>
VB.NET-QQ新闻弹窗样式图片制作工具
查看>>
iOS 7侧边栏菜单解决方案
查看>>
移动web开发框架研究
查看>>
Word 2013 发布51CTO博客
查看>>
byRef 与 byVal
查看>>
QTP对日前控件的处理
查看>>
ES6中的尾递归优化例子
查看>>
(寻求志同道合的兄弟)寻求eclipse插件开发能手
查看>>
斗地主算法的设计与实现(一)--项目介绍&如何定义和构造一张牌
查看>>
前端技术/前端冷知识集锦
查看>>
免费高清视频素材下载网站
查看>>
RGW Usage类解析
查看>>
mouseover、mouseout防止多次触发
查看>>
Linux命令行:rpm 命令参数使用详解
查看>>
expdp数据泵自动备份脚本
查看>>