LOJ#10117. 「一本通 4.1 练习 2」简单题
题目描述
题目来源:$CQOI 2006$
有一个$n$个元素的数组,每个元素初始均为$0$。有$m$条指令,要么让其中一段连续序列数字反转——$0$变$1$,$1$变$0$(操作$1$),要么询问某个元素的值(操作$2$)。
例如当$n=20$时,$10$条指令如下:
操作 | 回答 | 操作后的数组 |
---|---|---|
$1\ 1\ 10$ | N/A | $11111111110000000000$ |
$2\ 6$ | $1$ | $11111\underline{1}11110000000000$ |
$2\ 12$ | $0$ | $11111111110\underline{0}00000000$ |
$1\ 5\ 12$ | N/A | $11110000001100000000$ |
$2\ 6$ | $0$ | $11110\underline{0}00001100000000$ |
$2\ 15$ | $0$ | $11110000001100\underline 000000$ |
$1\ 6\ 16$ | N/A | $11110111110011110000$ |
$1\ 11\ 17$ | N/A | $11110111111100001000$ |
$2\ 12$ | $1$ | $11110111111\underline 100001000$ |
$2\ 6$ | $1$ | $11110\underline 111111100001000$ |
输入格式
第一行包含两个整数$n,m$,表示数组的长度和指令的条数;
以下$m$行,每行的第一个数$t$表示操作的种类:
- 若$t=1$,则接下来有两个数$L,R$,表示区间$[L,R]$的每个数均反转;
- 若$t=2$,则接下来只有一个数$i$,表示询问的下标。
输出格式
每个操作$2$输出一行(非$0$即$1$),表示每次操作$2$的回答。
样例
样例输入
20 10
1 1 10
2 6
2 12
1 5 12
2 6
2 15
1 6 16
1 11 17
2 12
2 6
样例输出
1
0
0
0
1
1
数据范围与提示
对于 $50\%$ 的数据,$1\le n\le 10^3,1\le m\le 10^4$;
对于 $100\%$ 的数据,$1\le n\le 10^5,1\le m\le 5\times 10^5$,保证 $L\le R$。
题解Here!
#include<iostream>
#include<algorithm>
#include<cstdio>
#define MAXN 100010
using namespace std;
int n,m,val[MAXN];
inline int read(){
int date=0,w=1;char c=0;
while(c<'0'||c>'9'){if(c=='-')w=-1;c=getchar();}
while(c>='0'&&c<='9'){date=date*10+c-'0';c=getchar();}
return date*w;
}
inline int lowbit(int x){return x&(-x);}
inline void update(int x){for(;x<=n;x+=lowbit(x))val[x]^=1;}
inline int query(int x){int s=0;for(;x;x-=lowbit(x))s^=val[x];return s;}
void work(){
int f,x,y;
n=read();m=read();
while(m--){
f=read();x=read();
if(f==1){
y=read();
update(x);update(y+1);
}
else printf("%d\n",query(x));
}
}
int main(){
work();
return 0;
}
LOJ#10117. 「一本通 4.1 练习 2」简单题的更多相关文章
- LOJ#10064. 「一本通 3.1 例 1」黑暗城堡
LOJ#10064. 「一本通 3.1 例 1」黑暗城堡 题目描述 你知道黑暗城堡有$N$个房间,$M$条可以制造的双向通道,以及每条通道的长度. 城堡是树形的并且满足下面的条件: 设$D_i$为如果 ...
- LOJ #10131 「一本通 4.4 例 2」暗的连锁
LOJ #10131 「一本通 4.4 例 2」暗的连锁 给一棵 \(n\) 个点的树加上 \(m\) 条非树边 , 现在需要断开一条树边和一条非树边使得图不连通 , 求方案数 . $n \le 10 ...
- Loj 10115 「一本通 4.1 例 3」校门外的树 (树状数组)
题目链接:https://loj.ac/problem/10115 题目描述 原题来自:Vijos P1448 校门外有很多树,学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的 ...
- LOJ #10084. 「一本通 3.3 练习 1」最小圈(二分+SPFA判负环)
题意描述: 见原LOJ:https://loj.ac/problem/10084 题解: 假设所求的平均最小值为X,环上各个边的权值分别为A1,A2...Ak,可以得到: X=(A1+A2+A3+.. ...
- LOJ #10132. 「一本通 4.4 例 3」异象石
题目地址 LOJ 题解 神仙思路.思路参考自<算法竞赛进阶指南>. 考虑维护dfs序中相邻两个石头的距离,那么每次?的答案就是sum/2(首尾算相邻) 然后维护一下拿个平衡树/set维护一 ...
- LOJ #10222. 「一本通 6.5 例 4」佳佳的 Fibonacci
题目链接 题目大意 $$F[i]=F[i-1]+F[i-2]\ (\ F[1]=1\ ,\ F[2]=1\ )$$ $$T[i]=F[1]+2F[2]+3F[3]+...+nF[n]$$ 求$T[n] ...
- LOJ#10065. 「一本通 3.1 例 2」北极通讯网络
题目链接:https://loj.ac/problem/10065 题目描述 原题来自:Waterloo University 2002 北极的某区域共有 nnn 座村庄,每座村庄的坐标用一对整数 ( ...
- LOJ#10106. 「一本通 3.7 例 2」单词游戏
题目链接:https://loj.ac/problem/10106 题目描述 来自 ICPC CERC 1999/2000,有改动. 有 NNN 个盘子,每个盘子上写着一个仅由小写字母组成的英文单词. ...
- LOJ#10172. 「一本通 5.4 练习 1」涂抹果酱
题目链接:https://loj.ac/problem/10172 题目描述 Tyvj 两周年庆典要到了,Sam 想为 Tyvj 做一个大蛋糕.蛋糕俯视图是一个 N×MN×MN×M 的矩形,它被划分成 ...
随机推荐
- 如何Tomcat注册成系统服务
1.开始->运行(windos+r)中敲cmd,DOS界面2.cd到tomcat的bin目录下3.运行命令service.bat install 这里可以指定注册服务的名字,然后就可以 ...
- iOS11
_tab.estimatedRowHeight = 0; if (@available(iOS 11.0, *)) { //当有heightForHeader delegate时设置 _tab.est ...
- S2:外观模式 Facade
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 什么时候使用:1,开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口.2,维护一个大 ...
- jmap命令(Java Memory Map)的使用
jmap的使用能够參考: 官方文档 http://docs.oracle.com/javase/6/docs/technotes/tools/share/jmap.html 和这篇博客 http:// ...
- 网页抓取工具Teleport Ultra简介及如何使用
Teleport Ultra是一款专业的离线浏览器,能够快速.准确地从网络抓取数据并保存到本地,实现离线浏览的目的.它可以从Internet的任何地方抓回你想要的任何文件,它可以在你指定的时间自动登录 ...
- 跨discuz站获取
1.在需要取得formhash的页面加入下面js代码,还需要jquery库. <script lanuage="javascript"> $(function(){ $ ...
- ListView异步加载图片
ListView异步加载图片是非常实用的方法,凡是是要通过网络获取图片资源一般使用这种方法比较好,用户体验好,下面就说实现方法,先贴上主方法的代码: package cn.wangmeng.test; ...
- oracle数据库权限管理
权限管理: oracle 9里面默认的三个username和password: sys change_on_install //权限最高的管理员 system manager //普通的管理员 sco ...
- CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放 《CCKiller:Linux轻量级CC攻击防御工具,秒级检查、自动拉黑和释放》来自张戈博客
张戈博客很久以前分享过一个CC攻击的防御脚本,写得不怎么样,不过被51CTO意外转载了.博客从此走上了经常被人拿来练手的不归之路. 当然,还是有不少朋友在生产环境使用,并且会留言询问相关问题.根据这些 ...
- Effective C++ Item 34 区分接口继承与实现继承
本文为senlie原创,转载请保留此地址:http://blog.csdn.net/zhengsenlie 关联条款 Item 36 接口继承和实现继承不同.在 public 继承下, derived ...