$n \leq 1e5$个位运算操作,$m \le 2^{30}$,问$0-m$中谁进行完所有操作值最大,输出这个最大值。

cfA题难度?当送分题就不管了

and相当于几个位取0,or相当于几个位取1,有几个位是可以确定的;xor相当于翻转,确定的0变1,确定的1变0,不确定的就记一下哪几位被xor了。最后从高到低按位决定这一位要不要填1,如果这一位没确定并且没被异或或者被异或了偶数次就填个1下去,否则不填。

 //#include<iostream>
#include<cstring>
#include<cstdio>
//#include<time.h>
//#include<math.h>
//#include<set>
//#include<queue>
//#include<bitset>
//#include<vector>
#include<algorithm>
#include<stdlib.h>
using namespace std; #define LL long long
LL qread()
{
char c; LL s=; int f=; while ((c=getchar())<'' || c>'') (c=='-') && (f=-);
do s=s*+c-''; while ((c=getchar())>='' && c<=''); return s*f;
} //Pay attention to '-' , LL and double of qread!!!! int n,m,a,b,x,ba;
int main()
{
n=qread(); m=qread();
a=ba=(<<)-; b=x=;
char c; int v;
while (n--)
{
while ((c=getchar())!='A' && c!='O' && c!='X');
if (c=='A')
{
c=getchar(); c=getchar();
v=qread(); a&=v; b&=v; x&=v;
}
else if (c=='O')
{
c=getchar();
v=qread(); b|=v; a|=v; x&=ba^v;
}
else if (c=='X')
{
c=getchar(); c=getchar();
v=qread();
for (int i=;i<;i++) if ((v>>i)&)
{
if (((b>>i)&)== && ((a>>i)&)==) x^=<<i;
else if ((b>>i)& || ((a>>i)&)==) a^=(<<i),b^=(<<i);
}
}
}
int tmp=,ans=;
for (int i=;~i;i--)
{
if ((b>>i)&) ans|=<<i;
else if (((a>>i)&)==);
else
{
if ((x>>i)&) ans|=<<i;
else if ((tmp|(<<i))<=m) tmp|=<<i,ans|=<<i;
}
}
printf("%d\n",ans);
return ;
}

最新文章

  1. android键盘弹出头部上移处理
  2. ECMAScript 6学习笔记(一):展开运算符
  3. 第11章 Windows线程池(1)_传统的Windows线程池
  4. bind和unbind事件的应用
  5. js 简易判断一个数字是否是小数
  6. leecode Binary Tree Level Order Traversal II java
  7. 如何解决innnerText的兼容性问题
  8. POJ 1273 Drainage Ditches(网络流,最大流)
  9. PMP是什么,PMP最难的是哪些内容?
  10. Spring Boot使用AOP在控制台打印请求、响应信息
  11. 原生ajax可变参数post
  12. docker 系列 - Java程序制作Docker Image推荐方案(转载)
  13. java jvm和android DVM区别
  14. 7款让人惊叹的HTML5粒子动画特效(转载)
  15. 我的Java之旅 第四课 JAVA 语言语法 基础
  16. Web发展简史
  17. spring boot动态数据源方案
  18. SpringBoot使用端口运行
  19. CSS层叠样式
  20. thinkphp5.0调用ajax无刷新加载数据

热门文章

  1. 数据库sql语句的exists和in的区别
  2. 二、Linux 系统启动过程
  3. 入门学习Linux常用必会命令实例详解
  4. PHP去掉字符串中的数字
  5. php扩展开发-实现一个简易的哈希表
  6. Python学习笔记:math模块(数学),random模块(随机数)
  7. Python入门基础--变量与基本数据类型
  8. 2015-2016 Northwestern European Regional Contest (NWERC 2015)
  9. [Poj1273]Drainage Ditches(网络流)
  10. CF 497 div 2 B