保存前缀后缀。

保存一下前缀和后缀,去掉第$i$个位置,就是$L[i-1]$和$R[i+1]$进行运算。

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int maxn = 100000 + 10;
  5. int Land[maxn], Rand[maxn];
  6. int Lor[maxn], Ror[maxn];
  7. int Xor;
  8. int a[maxn];
  9. int n, p;
  10.  
  11. int main() {
  12. while(~scanf("%d%d", &n, &p)) {
  13. Xor = 0;
  14. for(int i = 1; i <= n; i ++) {
  15. scanf("%d", &a[i]);
  16. }
  17. Land[1] = Lor[1] = Xor = a[1];
  18. for(int i = 2; i <= n; i ++) {
  19. Land[i] = Land[i - 1] & a[i];
  20. Lor[i] = Lor[i - 1] | a[i];
  21. Xor = Xor ^ a[i];
  22. }
  23. Rand[n] = Ror[n] = a[n];
  24. for(int i = n - 1; i >= 1; i --) {
  25. Rand[i] = Rand[i + 1] & a[i];
  26. Ror[i] = Ror[i + 1] | a[i];
  27. }
  28. for(int i = 1; i <= p; i ++) {
  29. int pos;
  30. scanf("%d", &pos);
  31. if(pos == 1) {
  32. printf("%d %d %d\n", Rand[2], Ror[2], Xor ^ a[1]);
  33. } else if(pos == n) {
  34. printf("%d %d %d\n", Land[n - 1], Lor[n - 1], Xor ^ a[n]);
  35. } else {
  36. printf("%d %d %d\n", Land[pos - 1] & Rand[pos + 1], Lor[pos - 1] | Ror[pos + 1], Xor ^ a[pos]);
  37. }
  38. }
  39. }
  40. return 0;
  41. }

  

HDU 6186 CS Course的更多相关文章

  1. HDU 6186 CS Course (连续位运算)

    CS Course Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  2. HDU 6186 CS Course(前缀+后缀)

    http://acm.hdu.edu.cn/showproblem.php?pid=6186 题意:给出n个数,共有n次询问,每次询问给出一个数p,求除去第p个数后的n-1个数的&.|.^值. ...

  3. HDU 6186 CS Course 前缀和,后缀和

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6186 题意:给了n个数,然后有q个查询,每个查询要求我们删掉一个数,问删掉这个数后整个序列的与值,或值 ...

  4. HDU 6186 CS Course【前后缀位运算枚举/线段树】

    [前后缀枚举] #include<cstdio> #include<string> #include<cstdlib> #include<cmath> ...

  5. HDU.6186.CSCource.(前缀和数组和后缀和数组)

    明天后天是南昌赛了嘤嘤嘤,这几天就先不更新每日题目了,以后补题嘤嘤嘤. 今天和队友做了一套2017年广西邀请赛,5个题还是有点膨胀...... 好了,先来说一下有意思的题目吧...... CS Cou ...

  6. HDU - 6186 前缀和位运算

    异或操作蒙蔽了我的双眼 以至于没有第一时间想到前缀和与后缀和 水题做的不够多 #include<bits/stdc++.h> #define rep(i,j,k) for(register ...

  7. 2017ACM/ICPC广西邀请赛-重现赛

    HDU 6188 Duizi and Shunzi 链接:http://acm.hdu.edu.cn/showproblem.php?pid=6188 思路: 签到题,以前写的. 实现代码: #inc ...

  8. hdu 3 * problem

    hdu 6182 给出 $n$ 求 $\sum_{i = 1} ^ {\infty} (i * i <= n)$ 暴力枚举 hdu 6186 给出 $n$ 个数 $1e6$ 次询问,每次询问这 ...

  9. HDU 5053 the Sum of Cube(简单数论)

    http://acm.hdu.edu.cn/showproblem.php?pid=5053 题目大意: 求出A^3+(A+1)^3+(A+2)^3+...+B^3和是多少 解题思路: 设f(n)=1 ...

随机推荐

  1. css中px em rem vw vh vmax vmin等单位的区别--转载

    px:绝对单位,页面按精确像素展示 em:相对单位,基准点为父节点字体的大小,如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值. rem:相对 ...

  2. [吴恩达机器学习笔记]13聚类K-means

    13.聚类 觉得有用的话,欢迎一起讨论相互学习~Follow Me 13.1无监督学习简介 从监督学习到无监督学习 在一个典型的监督学习中,我们有一个有标签的训练集,我们的目标是找到能够区分正样本和负 ...

  3. HBase基本操作-Java实现

    创建Table public static void createTable(String tableName){ try { HBaseAdmin hbaseAdmin = new HBaseAdm ...

  4. 2017北京国庆刷题Day7 morning

    期望得分:100+0+100=200 实际得分:100+20+0=120 离散化搞搞 #include<cstdio> #include<iostream> #include& ...

  5. Shiro实战教程(二)

    http://www.jianshu.com/p/6786ddf54582/ https://www.cnblogs.com/ealenxie/p/10610741.html

  6. 20155117王震宇 2016-2017-2 《Java程序设计》第九周学习总结

    教材学习内容总结 JDBC JDBC API是一个Java API,可以访问任何类型表列数据,特别是存储在关系数据库中的数据.JDBC代表Java数据库连接. JDBC库中所包含的API任务通常与数据 ...

  7. 在eclipse安装mybatis的插件

    1.在help中打开 2.搜索mybatipse 3:功能简介 1:要查找某一个方法        在dao接口中某一个方法中 按住 Ctrl键 鼠标指到方法名称上 选择open xml 就会自动跳转 ...

  8. 面试整理(2)跨域:jsonp与CORS

    问题:跨域有哪些方法?jsonp的原理是什么? jsonp: 先说jsonp,jsonp的主要原理是利用script标签的src可以跨域请求,据说有src属性的都可以跨域请求,但script标签返回的 ...

  9. 天梯赛 L2-001 紧急救援 (最短路 dij)

    作为一个城市的应急救援队伍的负责人,你有一张特殊的全国地图.在地图上显示有多个分散的城市和一些连接城市的快速道路.每个城市的救援队数量和每一条连接两个城市的快速道路长度都标在地图上.当其他城市有紧急求 ...

  10. android 自定义View属性

    在android开发过程中,用到系统的View时候可以通过XML来定义一些View的属性.比如ImageView:   android:src  和android:scaleType为ImageVie ...