题目链接

做这个题一开始毫无思路,看了题解后才发现一个很巧妙的解法

简而言之就是他是一道位运算的题,题目所示的三种操作

都是位运算,他们就是某一位直接的运算都是独立的

就我们假设答案二进制形式的某一位为0,那么他可能经过运算变成1或者不变

若某一位为1,那么他可能经过运算变成0或者不变

那么你肯定是想让他每一位都尽量的大,能为1的尽量都为1呗

所以就是我们假设一个x=0(全0),一个y=2^31-1(全1)

然后经过x,y操作后看x,y每一位的情况

分情况讨论一下就ok了,然后看一眼代码就明白什么意思了


//#pragma comment (linker, "/STACK:102400000,102400000")
#include<bits/stdc++.h>
#include<stdio.h>
#include<string.h>
#include<string>
#include<iostream>
#include<algorithm>
#include<math.h>
#include<set>
#include<stack>
#include<vector>
#include<map>
#include<queue>
#include<list>
#include<time.h>#define myself i,l,r
#define lson i<<1
#define rson i<<1|1
#define Lson i<<1,l,mid
#define Rson i<<1|1,mid+1,r
#define half (l+r)/2
#define lowbit(x) x&(-x)
#define min4(a, b, c, d) min(min(a,b),min(c,d))
#define min3(x, y, z) min(min(x,y),z)
#define max3(x, y, z) max(max(x,y),z)
#define max4(a, b, c, d) max(max(a,b),max(c,d))
#define pii make_pair
#define pr pair<int,int>
typedef unsigned long long ull;
typedef long long ll;
const int inff = 0x3f3f3f3f;
const long long inFF = 9223372036854775807;
const int dir[4][2] = {0, 1, 0, -1, 1, 0, -1, 0};
const int mdir[8][2] = {0, 1, 0, -1, 1, 0, -1, 0, 1, 1, -1, 1, 1, -1, -1, -1};
const double eps = 1e-10;
const double PI = acos(-1.0);
const double E = 2.718281828459;
using namespace std;
const int maxn=1e5+51;
int n,m;
char s[10];
int main()
{scanf("%d %d",&n,&m);int x=2147483647;int y=0,z;for(int i=1;i<=n;i++){scanf("%s%d",s,&z);if(s[0]=='A') x&=z,y&=z;else if(s[0]=='O') x|=z,y|=z;else x^=z,y^=z;}int ans=0;for(int i=30;~i;i--){if(y&(1<<i)) ans+=(1<<i);else if((1<<i)<=m&&(x&(1<<i))){m-=(1<<i);ans+=(1<<i);}}printf("%d\n",ans);return 0;
}

P2114 [NOI2014]起床困难综合症相关推荐

  1. 洛谷 P2114 [NOI2014]起床困难综合症 解题报告

    P2114 [NOI2014]起床困难综合症 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作 ...

  2. 洛谷P2114 [NOI2014]起床困难综合症

    P2114 [NOI2014]起床困难综合症 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作 ...

  3. 【题解】洛谷P2114 [NOI2014]起床困难综合症

    前往:我自己搭建的博客 题目 洛谷P2114 [NOI2014]起床困难综合症 题解 题意简化为:在0~m之间找一个数,使得这个数在一系列操作后最大. 由于原数有大小限制,又要使得到的数尽量大,为了充 ...

  4. [NOI2014] 起床困难综合症

    水题的题解也水...... 原题链接:洛谷 P2114 [NOI2014]起床困难综合症 位运算每一位之间互不干扰. 经过所有门之后每一位不外乎四种结果:一定是0,一定是1,不变或取反. 按位枚举,贪 ...

  5. BZOJ 3668: [Noi2014]起床困难综合症( 贪心 )

    之前以为xor,or,and满足结合律...然后连样例都过不了 早上上体育课的时候突然想出来了...直接处理每一位是1,0的最后结果, 然后从高位到低位贪心就可以了... 滚去吃饭了.. ------ ...

  6. [BZOJ3668][Noi2014]起床困难综合症 贪心

    3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 2409  Solved: 1360 [Submit][ ...

  7. BZOJ 3668: [Noi2014]起床困难综合症【二进制+贪心】

    3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MB Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症 ...

  8. bzoj3668 [Noi2014]起床困难综合症

    3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec  Memory Limit: 512 MB Submit: 2547  Solved: 1460 [Submit][ ...

  9. [BZOJ 3668UOJ #2][Noi2014]起床困难综合症(贪心)

    Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找 ...

最新文章

  1. 关于Viual Studio 改变编辑器背景背景及背景图片
  2. 【运筹学】表上作业法 ( 最小元素法分析 | Vogel 方法 )
  3. skb_shinfo(skb)-dataref 含义
  4. dav1d 0.5.1:更快!
  5. STM32F103:二.(6)mrc522卡号读取
  6. centOS7.6安装MySQL8
  7. HLG1116-选美大赛
  8. JavaScript 常用功能总结
  9. Post 页面数据,使用boundary来格式化
  10. 安装历史版本nvidia显卡驱动
  11. 人均GDP将破1万美元对中国意味着什么?
  12. 14个PLC入门基础知识
  13. Python 之有趣的自幂数
  14. jQuery特效,网站模板,商城模板,网页特效各种前端源码免费下载
  15. 混合云管平台排名您知道吗?看这里
  16. day 37 ajax跨域 浏览器同源测略
  17. 维修计算机的一般步骤,计算机故障诊断处理的一般步骤
  18. CSS3+HTML5+JavaScript:个人相册网站实现
  19. 数据分析08章-dataframe第3-4节
  20. 百万美元“未来科技大奖”揭晓:山东大学彭实戈教授荣获数学与计算机科学奖。

热门文章

  1. python 正则表达式 re.search() 的使用
  2. The application could not be installed: INSTALL_FAILED_NO_MATCHING_ABIS
  3. [HNOI2002] Kathy 函数
  4. Tomcat 调优及 JVM 参数优化
  5. 【Intellij IDEA】eclipse项目导入
  6. switch能使用的数据类型有6种
  7. 开发Eclipse自定义控件
  8. C02-程序设计基础提高班(C++)第9周上机任务-类和对象
  9. 对Oracle中索引叶块分裂而引起延迟情况的测试和分析
  10. 大型企业门户网站设计开发一般性原则和建议