★☆   输入文件:zwei.in   输出文件:zwei.out   简单对比
时间限制:1 s   内存限制:256 MB

‘‘

【样例输入】

5 5 1 2 3 4 5 1 1 3 1 3 5 0 3 6 1 1 3 1 3 5

【样例输出】

0 2 5 7

【提示】

对于100%的数据 0 < n < 10^5,  0 < m < 10^5,  0 < ai,y < 10^9,  1 < x,l,r < n

对于40%的数据 0 < n < 1000,0 < m < 1000

线段树

单点修改,区间查询

屠龙宝刀点击就送

#include <cstdio>

#define Max 100000

struct node
{
int l,r,dis;
}tr[Max*+];
int n,m;
void up(int k)
{
tr[k].dis=tr[k<<].dis^tr[k<<|].dis;
}
void build(int k,int l,int r)
{
tr[k].l=l;tr[k].r=r;
if(l==r)
{
scanf("%d",&tr[k].dis);
return;
}
int mid=(l+r)>>;
build(k<<,l,mid);
build(k<<|,mid+,r);
up(k);
}
void change(int k,int t,int v)
{
if(tr[k].l==tr[k].r)
{
tr[k].dis=v;
return;
}
int mid=(tr[k].l+tr[k].r)>>;
if(mid>=t) change(k<<,t,v);
else change(k<<|,t,v);
up(k);
}
int query(int k,int l,int r)
{
if(tr[k].l==l&&tr[k].r==r)
{
return tr[k].dis;
}
int mid=(tr[k].l+tr[k].r)>>;
if(l>mid) return query(k<<|,l,r);
else if(r<=mid) return query(k<<,l,r);
else return query(k<<,l,mid)^query(k<<|,mid+,r);
}
int main()
{
freopen("zwei.in","r",stdin);
freopen("zwei.out","w",stdout);
scanf("%d%d",&n,&m);
build(,,n);
for(int x,y,z;m--;)
{
scanf("%d%d%d",&x,&y,&z);
if(x==)
change(,y,z);
else printf("%d\n",query(,y,z));
}
return ;
}

COGS 1427. zwei的更多相关文章

  1. hihoCoder 1427 : What a Simple Research(大㵘研究)

    hihoCoder #1427 : What a Simple Research(大㵘研究) 时间限制:1000ms 单点时限:1000ms 内存限制:256MB Description - 题目描述 ...

  2. 【COGS 254】【POI 2001】交通网络图

    http://www.cogs.top/cogs/problem/problem.php?pid=254 dist[i]表示能最早到达i点的时间.这样就可以用最短路模型来转移了. #include&l ...

  3. 【COGS】894. 追查坏牛奶

    http://cojs.tk/cogs/problem/problem.php?pid=894 题意:n个点m条边的加权网络,求最少边数的按编号字典序最小的最小割.(n<=32, m<=1 ...

  4. 1427. SMS

    http://acm.timus.ru/problem.aspx?space=1&num=1427 没想到这道题错了N遍  细节很重要呀 代码: #include<iostream> ...

  5. 【COGS】147. [USACO Jan08] 架设电话线(二分+spfa)

    http://cojs.tk/cogs/problem/problem.php?pid=147 学到新姿势了orz 这题求的是一条1-n的路径的最大路径最小. 当然是在k以外的. 我们可以转换一下. ...

  6. 【COGS & USACO Training】710. 命名那个数字(hash+水题+dfs)

    http://cojs.tk/cogs/problem/problem.php?pid=710 近日开始刷水... 此题我为了练一下hash...但是hash跑得比暴力还慢.. 不言而喻... #in ...

  7. 【COGS & USACO】896. 圈奶牛(凸包)

    http://cojs.tk/cogs/problem/problem.php?pid=896 我的计算几何入门题... 看了看白书的计算几何部分,,恩好嘛.. 乃们都用向量!!!! 干嘛非要将2个点 ...

  8. 【COGS】714. USACO 1.3.2混合牛奶(贪心+水题)

    http://cojs.tk/cogs/problem/problem.php?pid=714 在hzwer的刷题记录上,默默地先跳过2题T_T...求凸包和期望的..T_T那是个啥..得好好学习 看 ...

  9. hdu 1427 速算24点

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=1427 速算24点 Description 速算24点相信绝大多数人都玩过.就是随机给你四张牌,包括A( ...

随机推荐

  1. 深度学习之Batch归一化

    前言            以下内容是个人学习之后的感悟,转载请注明出处~ Batch归一化 在神经网络中,我们常常会遇到梯度消失的情况,比如下图中的sigmod激活函数,当离零点很远时,梯度基本为0 ...

  2. CentOS 6.5远程连接工具x shell

    安装X shell 在Window系统下远程连接Linux,x shell只是一种远程连接工具,类似工具还有CRT.VNC.putty. 以下是安装X shell的注意事项 此选项中,如不把——初始数 ...

  3. linux中网络编程<1>

    1 网络编程API (1)网络层的ip地址可以唯一标识网络中的主机,传输层通过协议+端口唯一标识主机中的应用程序.这样以来使用三元组(地址,协议,端口)标识网络的进程. (2)socket---> ...

  4. 2 手写Java LinkedList核心源码

    上一章我们手写了ArrayList的核心源码,ArrayList底层是用了一个数组来保存数据,数组保存数据的优点就是查找效率高,但是删除效率特别低,最坏的情况下需要移动所有的元素.在查找需求比较重要的 ...

  5. BZOJ3289【莫队算法+树状数组+离散化】

    思路: 区间逆序数即是交换次数. 逆序数,可以用树状数组吧. 怎么处理区间变换的时候求逆序数啊.. 这里分成左边的增/删,右边的增/删 因为是按时序插入, 所以左边增,增一个数,计算:ans+=sun ...

  6. hdu1158【DP】

    题意: 第一行项目数: 第二行每个工人的Hire Salary Fire money 第三行每个项目需要的人的数量: 工人在hire/fire的时候要付出额外的钱,如果已经hire了还没有fire就一 ...

  7. 聊聊IT行业加班的问题

    IT行业(包括互联网行业)是快速发展的行业,有时候一家公司同时可能要开发多个项目,并发进行,在公司开发人员相对固定的情况下,要想在指定的时间内完成项目谈何容易. 项目多.任务重.需求的不明确.技术难关 ...

  8. OPENGL4_变换

    几种变换的几何意义说明 http://blog.csdn.net/onafioo/article/details/22094247 变换的执行顺序问题 正常顺序 1 视图(观察)变换 2 模型变换 3 ...

  9. 洛谷P3321 [SDOI2015]序列统计(NTT)

    传送门 题意:$a_i\in S$,求$\prod_{i=1}^na_i\equiv x\pmod{m}$的方案数 这题目太珂怕了……数学渣渣有点害怕……kelin大佬TQL 设$f[i][j]$表示 ...

  10. java模拟进程调度之模拟抢占试多级轮转调度(附带可视化解决方案)

    1.简介一下多级轮转调度 多级轮转调度是一种提高调度效率的解决方案,简单讲就是讲要执行的程分成几个优先级的列队即例如三个,第一个列队分10个时间片,第二个列队分配1000个时间片,第三个列队表示100 ...