按位考虑,逐步确定答案。

设当前是第i位,求出第i位的前缀异或和。

若存在m个0且所有数字异或和为0,那么答案的这一位可以为0,并把所有1的位置给标记为不可选。

否则答案的这一位只能是1。

时间复杂度$O(n\log n)$。

#include<cstdio>
#define N 500010
int n,m,i,j,t,b[N],f[N];long long a[N],ans;
inline void read(long long&a){char c;while(!(((c=getchar())>='0')&&(c<='9')));a=c-'0';while(((c=getchar())>='0')&&(c<='9'))(a*=10)+=c-'0';}
int main(){scanf("%d%d",&n,&m);for(i=1;i<=n;i++)read(a[i]),f[i]=1;for(i=59;~i;i--){for(t=0,j=1;j<=n;j++){b[j]=b[j-1]^(a[j]>>i&1);if(!b[j]&&f[j])t++;}if(t>=m&&!b[n]){for(j=1;j<n;j++)if(b[j]&&f[j])f[j]=0;}else ans|=1LL<<i;}return printf("%lld",ans),0;
}

  

BZOJ4245 : [ONTAK2015]OR-XOR相关推荐

  1. BZOJ4245 [ONTAK2015]OR-XOR 【贪心】

    题目链接 BZOJ4245 题解 套路① 位运算当然要分位讨论,高位优先 考虑在\(or\)下,如果该位为\(0\),则每一位都为\(0\) 套路② 我们选m段异或和,转化为\(m\)个前缀和的点,且 ...

  2. bzoj4245: [ONTAK2015]OR-XOR

    一道很有意思的题目. 先求一次前缀和,可以发现答案是 (sum[0] xor sum[x1])or(sum[x1] xor sum[x2])or(sum[x2] xor sum[x3])or--or( ...

  3. 2019.4.summary

    2019.4.1 BZOJ1061: [Noi2008]志愿者招募 真心有点难QAQ https://www.byvoid.com/zhs/blog/noi-2008-employee 看void爷的 ...

  4. 【BZOJ-4245】OR-XOR 按位贪心

    4245: [ONTAK2015]OR-XOR Time Limit: 10 Sec  Memory Limit: 256 MB Submit: 486  Solved: 266 [Submit][S ...

  5. 【Codeforces/HDU】76A Plus and xor / 2095 find your present (2)(异或)。

    http://codeforces.com/contest/76/problem/D A = X + Y B = X xor Y 异或(不进位加法):两个二进制数,对应的位置上,相同为0,不同为1 性 ...

  6. 感知机搞不定逻辑XOR?Science新研究表示人脑单个神经元就能做到

    机器之心报道 参与:思源.张倩 长期以来,人们一直认为,要让神经网络解决「异或」问题就必须构造多层感知机,单个神经元是做不到的,这一认知使得神经网络的研究第一次进入寒冬.但最近的一项 Science ...

  7. 牛客练习赛32 -- Xor Path

    题解: 首先我们知道,一个点肯定不可能只出现一次的,他会出现好多次,但是根据二进制 a xor a =0 a xor a xor a =a 所以我们发现当某个点出现的次数为偶数次时,这个点相当于没有出 ...

  8. 可持久化Trie+堆优化 OR Trie树上求XOR第K大 ---- P5283 [十二省联考2019]异或粽子

    题目大意 题目大意: 考虑先做个 prefix xor 前缀异或bi=⨁j=1iaj(1≤i≤n)b_i=\bigoplus_{j=1}^{i}a_j(1\leq i \leq n)bi​=j=1⨁i ...

  9. 线段树 ---- 牛客多校4 ETree Xor 区间异或分段

    题目链接 题目大意: 就是给你nnn个节点的树,树上每个节点都有一个权值wi∈[li,ri]w_i\in[l_i,r_i]wi​∈[li​,ri​],以及相邻(u,v)(u,v)(u,v)的异或值wu ...

最新文章

  1. PayPal API风格指南和设计模式
  2. 链表一元多项式计算器的实现(Java语言描述)
  3. mysql 字符串 空格函数_mysql中的去除空格函数
  4. 去掉“3_人民日报语料”中每行前边的数字编号,改成“1, 2,......”
  5. loss=nan解决办法
  6. flask框架(十): 闪现
  7. Python 两大环境管理神器:pyenv 和 virtualenv
  8. 计算机系统基础:校验码知识笔记
  9. 矢量图标库如何引入html,Iconfont矢量图标库在网站中的使用方法
  10. android 外部内容分享到app内,外部跳转APP
  11. android studio获取数字签名,Android应用开发Android Studio数字签名打包apk图文步骤教程...
  12. 一起来梳理JVM知识点
  13. 查看Android 系统发送的广播
  14. c语言中联机停止运行,Win7开机提示Microsoft(C)注册服务器已停止工作怎么办?
  15. 简单C#生成静态及相关读取模板文件
  16. 机器视觉在工业检测中的应用
  17. 发现的IplImage转QImage的好用的方式
  18. 仅需一行代码,小白也可以制作自己的专属二维码!
  19. python实现指纹识别毕业论文_指纹识别技术毕业论文-指纹识别密码锁毕业论文...
  20. 《特征值与特征向量》定义、意义及例子

热门文章

  1. ASP.NET2.0图片格式转换【月儿原创】
  2. 将调用密集型的 COM 组件迁移到托管代码
  3. 一种准标准CSV格式的介绍和分析以及解析算法
  4. WMI技术介绍和应用——VC开发WMI应用的基本步骤
  5. 【Live555】live555源码详解(六):FramedSource、RTPSource、RTPSink
  6. linux nor flash 读写,9.2 NorFLASH读写实验——M25PExx
  7. html+服务器控件语法,HtmlForm 服务器控件声明性语法
  8. jacoco收集探针结果时机_滴滴开源Super-jacoco:java代码覆盖率收集平台
  9. python 导出mysql 视图_【Python基础】mysql数据库视图是什么
  10. Java对线_新手如何通过练习打好Java基础?