Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations(线段树)
来源:互联网 发布:mac可以玩守望先锋吗 编辑:程序博客网 时间:2024/05/18 20:51
题目地址:http://codeforces.com/problemset/problem/339/D
思路:线段树。PushUp时根据层数奇数偶数判断使用|还是^
#include <iostream>#include <cstdio>#include <cstring>#include <string>#include <algorithm>using namespace std;#define maxn (1<<18)int a[maxn];int sum[maxn<<2];void PushUp(int rt,int dep){ if(dep) sum[rt] = sum[rt<<1]|sum[rt<<1|1];else sum[rt] = sum[rt<<1] ^ sum[rt<<1|1];}void build(int l,int r,int rt,int dep){if(l==r){sum[rt] = a[l];return;}int mid = (l+r)>>1;build(l,mid,rt<<1,dep^1);build(mid+1,r,rt<<1|1,dep^1); PushUp(rt,dep);}void update(int p,int l,int r,int rt,int v,int dep){if(l==r){sum[rt]=v;return;}int mid = (l+r)>>1;if(p<=mid) update(p,l,mid,rt<<1,v,dep^1);else update(p,mid+1,r,rt<<1|1,v,dep^1);PushUp(rt,dep);}int main(){int n,m;scanf("%d%d",&n,&m); int cnt= 1<<n;for(int i=1;i<=cnt;i++)scanf("%d",&a[i]);build(1,cnt,1,n&1);for(int i=1;i<=m;i++){ int p,v;scanf("%d%d",&p,&v);update(p,1,cnt,1,v,n&1);printf("%d\n",sum[1]);}return 0;}
0 0
- Codeforces Round #197 (Div. 2) -- D. Xenia and Bit Operations(线段树)
- Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations(线段树)
- Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations - 线段树
- Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations
- Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations
- Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations(容器做法)
- codeforces 339 D.Xenia and Bit Operations(线段树)
- CodeForces 339D Xenia and Bit Operations(线段树)
- codeforces 339D Xenia and Bit Operations 线段树
- CodeForces 339D Xenia and Bit Operations 线段树
- Codeforces 339D Xenia and Bit Operations 线段树
- CodeForces 339D Xenia and Bit Operations (线段树水题)
- CodeForces 339D Xenia and Bit Operations(线段树点修改)
- CodeForces 339D D. Xenia and Bit Operations(线段树的单点更新)
- CodeForces 339D Xenia and Bit Operations
- CodeForces 339D Xenia and Bit Operations
- Codeforces 339D Xenia and Bit Operations 线段树单点修改
- CodeForces 339D Xenia and Bit Operations 数据结构+线段树+点更新
- codeforces Round 286# problem A. Mr. Kitayuta's Gift < 回文串 >
- 二叉树的一些笔试面试常见题目
- 17缓冲流原理
- PendingIntent和Intent
- codeforces 671B
- Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations(线段树)
- Ajax跨域请求——jsonp技术
- 96.苹果企业证书过期与Appstore证书与描述文件过期解决方案-描述文件过期的方案
- iOS开发小点之启动广告界面
- git 命令
- 素数筛模板
- 【Codeforces Round 362 (Div 2)A】【简单讨论】Pineapple Incident
- 蘑菇街TeamTalk源码流程思维导图
- org.hibernate.InvalidMappingException: Unable to read XML 错误分析