题目传送门

  1. /*
  2. 线段树的单点更新:有一个交叉更新,若rank=1,or;rank=0,xor
  3. 详细解释:http://www.xuebuyuan.com/1154895.html
  4. */
  5. #include <cstdio>
  6. #include <iostream>
  7. #include <algorithm>
  8. #include <cstring>
  9. #include <string>
  10. #include <cmath>
  11. #include <set>
  12. #include <map>
  13. using namespace std;
  14. #define lson l, mid, rt << 1
  15. #define rson mid+1, r, rt << 1 | 1
  16. const int MAXN = << | ;
  17. const int INF = 0x3f3f3f3f;
  18. struct NODE
  19. {
  20. int v, mx, mn, sum;
  21. int rank;
  22. }node[MAXN << ];
  23. void push_up(int rt)
  24. {
  25. if (node[rt<<].rank == )
  26. {
  27. node[rt].rank = ;
  28. node[rt].v = node[rt<<].v | node[rt<<|].v;
  29. }
  30. else
  31. {
  32. node[rt].rank = ;
  33. node[rt].v = node[rt<<].v ^ node[rt<<|].v;
  34. }
  35. }
  36. void build(int l, int r, int rt)
  37. {
  38. if (l == r)
  39. {
  40. scanf ("%d", &node[rt].v);
  41. node[rt].rank = ;
  42. return ;
  43. }
  44. int mid = (l + r) >> ;
  45. build (lson);
  46. build (rson);
  47. push_up (rt);
  48. }
  49. void updata(int p, int b, int l, int r, int rt)
  50. {
  51. if (l == r)
  52. {
  53. node[rt].v = b;
  54. return ;
  55. }
  56. int mid = (l + r) >> ;
  57. if (p <= mid) updata (p, b, lson);
  58. else updata (p, b, rson);
  59. push_up (rt);
  60. }
  61. int main(void) //Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations
  62. {
  63. //freopen ("H.in", "r", stdin);
  64. int n, m;
  65. scanf ("%d%d", &n, &m);
  66. build (, <<n, );
  67. int p, b;
  68. for (int i=; i<=m; ++i)
  69. {
  70. scanf ("%d%d", &p, &b);
  71. updata (p, b, , <<n, );
  72. printf ("%d\n", node[].v);
  73. }
  74. return ;
  75. }

线段树 Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations的更多相关文章

  1. Codeforces Round #197 (Div. 2) D. Xenia and Bit Operations

    D. Xenia and Bit Operations time limit per test 2 seconds memory limit per test 256 megabytes input ...

  2. set+线段树 Codeforces Round #305 (Div. 2) D. Mike and Feet

    题目传送门 /* 题意:对于长度为x的子序列,每个序列存放为最小值,输出长度为x的子序列的最大值 set+线段树:线段树每个结点存放长度为rt的最大值,更新:先升序排序,逐个添加到set中 查找左右相 ...

  3. [置顶] Codeforces Round #197 (Div. 2)(完全)

    http://codeforces.com/contest/339/ 这场正是水题大放送,在家晚上限制,赛后做了虚拟比赛 A,B 乱搞水题 C 我是贪心过的,枚举一下第一个拿的,然后选使差值最小的那个 ...

  4. Codeforces Round #197 (Div. 2) (A、B、C、D、E五题合集)

    A. Helpful Maths 题目大意 给一个连加计算式,只包含数字 1.2.3,要求重新排序,使得连加的数字从小到大 做法分析 把所有的数字记录下来,从小到大排序输出即可 参考代码 #inclu ...

  5. Codeforces Round #197 (Div. 2) C,D两题

    开了个小号做,C题一开始看错范围,D题看了半小时才看懂,居然也升到了div1,囧. C - Xenia and Weights 给出一串字符串,第i位如果是1的话,表示有重量为i的砝码,如果有该种砝码 ...

  6. Codeforces Round #197 (Div. 2) : D

    这题也是一个线段树的水题: 不过开始题目没看明白,害得我敲了一个好复杂的程序.蛋疼啊.... 最后十几分钟的时候突然领悟到了题意,但是还是漏掉一个细节,老是过不去... 以后比赛的时候不喝啤酒了,再也 ...

  7. 维护前面的position+主席树 Codeforces Round #406 (Div. 2) E

    http://codeforces.com/contest/787/problem/E 题目大意:给你n块,每个块都有一个颜色,定义一个k,表示在区间[l,r]中最多有k中不同的颜色.另k=1,2,3 ...

  8. Codeforces Round #197 (Div. 2) : E

    看了codeforces上的大神写的题解之后,才知道这道题水的根本! 不过相对前面两题来说,这道题的思维要难一点: 不过想到了水的根本,这题也真心不难: 方法嘛,就像剥洋葱一样,从外面往里面剥: 所以 ...

  9. Codeforces Round #197 (Div. 2)

    A.Helpful Maths 分析:将读入的字符转化为数字,直接排个序就可以了. #include <cstdlib> #include <cstring> #include ...

随机推荐

  1. Unity3d使用蓝牙(bluetooth)开发IOS点对点网络游戏

    著作权声明:本文由http://www.cnblogs.com/icker 原创,欢迎转载分享.转载时请保留该声明和作者博客链接,谢谢! 最近使用Unity3d制作的IOS游戏需要加入联网对战功能功能 ...

  2. 在mac上安装nodejs

    文章转载自我的个人博客  www.iwangzheng.com node.js最初是2009年发布的,目标是为聊实现事件驱动和非阻塞I/O的web服务器,应用的场景非常的广泛,有web服务器.实时应用 ...

  3. jquery消息提示框

    用于ajax类型提示的,只显示一个. 只是给个思路而已,代码有很多不足. 4个参数,有2个是可选 调用 $.mTip('类型','显示内容',显示时间,回调函数) 类型: 0 为加载 1 为成功 2 ...

  4. DICOM:DICOM标准学习路线图(初稿)

    题记: DICOM医学图像处理专栏撰写已有两个年头,积累了近百篇文章.起初只是用于记录自己科研.工作中遇到的疑难问题,专注于图像处理(主要是医学图像,这也正是专栏名称最初的由来):后来逐渐延伸到了DI ...

  5. 【转】INSTALL_FAILED_NO_MATCHING_ABIS 的解决办法

    在Android模拟器上安装apk的时候出现   INSTALL_FAILED_NO_MATCHING_ABIS 这个错误提示的解决办法. 是由于使用了native libraries .该nativ ...

  6. 使用pymongo需要手动关闭MongoDB Connection吗?

    答:Disconnecting will close all underlying sockets in the connection pool. If this instance is used a ...

  7. elk平台分析nginx日志的基本搭建

    一.elk套件介绍 ELK 由 ElasticSearch . Logstash 和 Kiabana 三个开源工具组成.官方网站: https://www.elastic.co/products El ...

  8. codeforces 489C.Given Length and Sum of Digits... 解题报告

    题目链接:http://codeforces.com/problemset/problem/489/C 题目意思:给出 m 和 s,需要构造最大和最小的数.满足长度都为 m,每一位的数字之和等于 s. ...

  9. codeforces B. Permutation 解题报告

    题目链接:http://codeforces.com/problemset/problem/359/B 题目意思:给定n和k的值,需要构造一条长度为2n(每个元素取值范围只能是[1,2n])且元素各不 ...

  10. NEFU 1142 表哥的面包

    表哥的面包 Problem:1142 Time Limit:1000ms Memory Limit:65535K Description 可爱的表哥遇到了一个问题,有一个长为N(1≤N≤10^18)的 ...