【每日一题】7月3日精讲—毒瘤xor

时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
Special Judge, 64bit IO Format: %lld

文章目录

  • 题目描述
  • 题解:
  • 代码:

题目描述

输入描述:

第一行一个整数N,表示序列的长度 第二行N个整数,表示序列内的元素 第三行一个整数q,表示询问的个数 接下来q行,每行两个整数[L,
R],表示询问的区间

输出描述:

输出q行,每行一个整数表示答案

若有多组可行解,请输出较小的解

示例1
输入
复制

5
4 78 12 1 3
3
2 5
1 4
3 3

输出

2147483632
2147483635
2147483635

备注:

对于30%的数据,n , q ≤ 10
对于60%的数据,n , q ≤ 1000
对于100%的数据,n, q ≤ 10^5
保证ai < 2^31

题解:

很久没有遇到异或的题了
先讲下异或:1 ^ 1 =0 , 0 ^ 0= 0,1 ^ 0 =1,0 ^ 1 =1
相同为0,不同为1
异或是两个数二进制状态下相同数位进行操作
我们要找一个x使得x ^ a[i]的和最大,那我们就尽量使x与a[i]的相同位数异或后为1,这样就最大
a[i]是一个数组,所以我们就求这个数组里每个数的二进制状态下,每一位0和1的个数,比如说,数组有n个数,其中b个数二进制状态下第一位是0,剩下n-b个数二进制状态下第一位是1,如果b>n-b,那我们就使X二进制的第一位是1,(就是和最多情况的数呈相反,这样异或出来才是1)
然后是第二位,依次类推最后我们就得到X的二进制状态,转化成十进制输出即可
因为有多轮询问,所以我们可以用前缀和来处理每一位为1的数

     bool w=((a[i]>>j)&1);//判断第j位是0是1 sum[i][j]=(sum[i-1][j]+w);//前缀和进行累加

代码:

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+4;
typedef long long ll;
ll a[maxn];
int sum[maxn][40];
int main()
{int n;cin>>n;for(int i=1;i<=n;i++){cin>>a[i];}for(int i=1;i<=n;i++){for(int j=0;j<31;j++){bool w=((a[i]>>j)&1);//判断第j位是0是1 sum[i][j]=(sum[i-1][j]+w);}}int q;cin>>q;int tot=0;while(q--){tot=0;int l,r;cin>>l>>r;for(int j=0;j<31;j++){if(sum[r][j]-sum[l-1][j] < ( (r-l)/2+1) )//当这一位0居多时,X选为1 tot+=(1<<j); }cout<<tot<<endl; }
}

【每日一题】7月3日精讲—毒瘤xor相关推荐

  1. 第五人格七月三日服务器维护要多久,第五人格微信每日一题7月3日答案是什么_今天有四个人来访过_玩游戏网...

    <第五人格>2021独特时装体验卡礼包 第五人格2021独特时装体验卡礼包怎么获得?礼包中有独特时装体验卡.角色体验卡等奖励,小编这里就分享一下第五人格2021独特时装体验卡礼包领取地址, ...

  2. 牛客网 每日一题 7月23日题目精讲—wpy的请求

    来源:牛客网: 文章目录 wpy的请求 题解: 代码: wpy的请求 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K Special Judge ...

  3. 【每日一题】7月10日精讲—矩阵取数游戏

    来源:牛客网: 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语言524288K 64bit IO Format: %lld ...

  4. 【每日一题】7月6日精讲—平衡二叉树

    来源:牛客网: 文章目录 题目描述 题解: 代码: 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 1048576K,其他语言2097152K 64bit IO Format: %ll ...

  5. PMP模拟试题每日5题(5月5日)

    摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.你的敏捷团队与一个开发商 ...

  6. PMP模拟试题每日5题(5月7日)

    摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.产品开发团队采用敏捷开发 ...

  7. PMP模拟试题每日5题(4月28日)

    摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.项目需要委托第三方研发一 ...

  8. PMP模拟试题每日5题(4月22日)

    ​​​​摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.项目技术团队强烈 ...

  9. PMP模拟试题每日5题(5月6日)

    摘要:为帮助即将参加PMP®考试的考生快速熟悉PMP®试题.熟练掌握PMP®相关考点知识,本专栏将每日推出5道PMP®模拟试题(包含试题原题和答案解析),快来进行练习吧! 1.沟通对项目成功非常关键. ...

最新文章

  1. 第十、十一周项目四 - 教师兼干部类
  2. JVM中垃圾收集算法
  3. python并发编程之多线程理论部分
  4. Android-Material-Examples
  5. CAS5.3.14安装、配置完全教程
  6. 北京沙龙报名 | 关于Dubbo开源的那些事儿
  7. intellij出现Error assembling JAR: invalid entry size
  8. hp laser103 属性没有配置项_哦?在hp打印机面板上就可以更改打印机ip地址
  9. qt-rcc提示找不到资源文件
  10. 一图胜千言:用好图表,好好说话
  11. Typora下载与安装
  12. java web音乐播放器_[JavaWeb]网页音乐播放器
  13. 与大学生谈学习BIM软件开发所需要的准备
  14. Wireshark网络流量分析工具
  15. Arduino火焰传感器(含代码)
  16. android 仿qq 功能,Android仿QQ、新浪相册的实现
  17. java mock私有方法_JMockit Mock 私有方法和私有属性
  18. 小程序源码《表情包多样版》
  19. AutoCAD.NET API Lectures
  20. 微信小程序对餐饮行业有哪些影响

热门文章

  1. 国庆中秋活动——让孩子亲近数学并爱上数学:《数学小侦探》来袭(来自科大出版社的福利)
  2. 《SAS编程与数据挖掘商业案例》学习笔记之二
  3. mysql 5.6 slave stop_mysql 5.6 Replication 参数
  4. 深度学习 占用gpu内存 使用率为0_深度解析MegEngine亚线性显存优化技术
  5. 纳尼???我JVM优化过头了,直接把异常信息优化没了?怎么办
  6. 计算机基础知识菜鸟教程,机器学习基础知识整理归纳
  7. pygame里面物体闪烁运动_Pygame-游戏中的运动
  8. win10右键一直转圈_Win10电脑开机一直转圈无法进入系统的解决方法
  9. [MyBatisPlus]模拟多数据源环境及测试
  10. [mybatis]缓存_缓存有关的设置以及属性