原题地址

虽说是NOI的题目,但其实并不难,所以解析我就写在代码里了。

代码实现如下:

//本题应首先将数拆为二进制.
#include <bits/stdc++.h>
using namespace std;
#define rep(i, a, b) for (register int i = (a); i <= (b); i++)
#define per(i, a, b) for (register int i = (a); i >= (b); i--)int n, m, x, a1 = 0, a2 = -1, ans = 0;//a1表示000...0,a2表示111...1,所以用int或unsigned int都行.
char opt[5];int read() {int x = 0, flag = 0;char ch = ' ';while (ch != '-' && (ch < '0' || ch > '9')) ch = getchar();if (ch == '-') {flag = 1;ch = getchar();}while (ch >= '0' && ch <= '9') {x = (x << 1) + (x << 3) + ch - '0';ch = getchar();}return flag ? -x : x;
}void write(int x) {if (x < 0) {putchar('-');x = -x;}if (x > 9) write(x / 10);putchar(x % 10 + '0');
}int main() {n = read(), m = read();rep(i, 1, n) {scanf("%s", opt), x = read();if (opt[0] == 'A') {a1 &= x;a2 &= x;}if (opt[0] == 'O') {a1 |= x;a2 |= x;}if (opt[0] == 'X') {a1 ^= x;a2 ^= x;}}per(i, 31, 0) {if (a1 >> i & 1) ans += 1 << i;//能将0变为1,何乐而不为? else if (a2 >> i & 1 && (1 << i) <= m) {//注意这里用的是else if. ans += 1 << i;m -= 1 << i;}//能将1变为1,就变,反正也没损失.
    }write(ans);return 0;
}

View Code

转载于:https://www.cnblogs.com/Kirisame-Marisa/p/11172179.html

解题报告 『[NOI2014]起床困难综合症』相关推荐

  1. 解题报告 『[NOI2014]起床困难综合症(位运算)』

    原题地址 虽说是NOI的题目,但其实并不难,所以解析我就写在代码里了. 代码实现如下: //本题应首先将数拆为二进制. #include <bits/stdc++.h> using nam ...

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

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

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

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

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

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

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

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

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

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

  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. 【题解】洛谷P2114 [NOI2014]起床困难综合症

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

最新文章

  1. JAVA线程池的分析和使用--笔记
  2. LeetCode 636. 函数的独占时间(栈)
  3. 【java】阿里为什么推荐使用LongAdder,而不是volatile?
  4. 基于JAVA+SpringMVC+Mybatis+MYSQL的洗衣店服务平台管理系统
  5. 弹窗编辑jsp报表内数据
  6. 记赖世雄英语笔记和心得
  7. java事务 深入Java事务的原理与应用
  8. excel工作簿合并为一个表格
  9. 使用 乐吾乐topology 遇到的问题解决方法汇总
  10. While(true)无限循环
  11. 8个深度学习/计算机视觉错误,应该如何避免它们
  12. Pandoc 安装与使用
  13. 数据可视化编辑平台上线,小程序也能拥有可视化图层
  14. 求矩阵中非零元素个数(L0范式)
  15. OpenGL: 圆柱面绘制贴图
  16. ubuntu中pycharm没有启动图标
  17. 2021最新Java面试笔试题目分享
  18. java dispo lock_Java Row.getAs方法代码示例
  19. 壳网七彩视界开源对接易支付原生播放器可投屏可选集
  20. 秋招历险记-深度学习

热门文章

  1. 微信自动回复和自动抢红包实现原理(三):自动抢红包
  2. 利用cache特性检测Android模拟器
  3. 区块链基础知识系列 第四课Hyperledger fabric 1.0网络组成及构建流程
  4. mysql my.cnf参数配置_MySQLmy.cnf参数配置优化详解
  5. pythonlbp纹理提取_Python + OpenCV 实现LBP特征提取的示例代码
  6. 怎么算 实体识别_大篷车流动摆摊卖日用品月赚万元,大商场生意冷清,实体店不好做...
  7. java获取当前项目相对路径,在JAVA文件中获取该项目的相对路径
  8. 你想带一顶什么样的硕士帽(转载)
  9. [CODEVS 1281] Xn数列
  10. JZOJ__Day 6:【普及模拟】神奇的项链(fett)