从高到低按位贪心,讨论一下初始0或1,分别暴力算出结果是什么

如果一开始0就能得1当然直接ans垒起来

如果1能得1而且当前m够用,那也垒起来,同时m减掉

否则gg

2min的代码

 1 #include <bits/stdc++.h>
 2 #define miaom(x,y) ((x & (1<<y))>>y)
 3 using namespace std;
 4 int n,m,p[200001],a[60],in[60];
 5 char opt[200001];
 6 char getch()
 7 {
 8     char ch;
 9     for(ch=getchar();!isalpha(ch);ch=getchar());
10     return ch;
11 }
12 int main()
13 {
14     scanf("%d%d",&n,&m);
15     for(int i=1;i<=n;i++)
16     {
17         opt[i]=getch();
18         getch();if(opt[i]!='O')getch();
19         scanf("%d",&p[i]);
20     }
21     int ans=0;
22     for(int i=30;i>=0;i--)
23     {
24         bool a=0,b=1;
25         for(int j=1;j<=n;j++)
26         if(opt[j]=='A')
27             a&=miaom(p[j],i),
28             b&=miaom(p[j],i);
29         else
30         if(opt[j]=='O')
31             a|=miaom(p[j],i),
32             b|=miaom(p[j],i);
33         else
34         if(opt[j]=='X')
35             a^=miaom(p[j],i),
36             b^=miaom(p[j],i);
37         if(a) ans+=1<<i;
38         else
39         if(b && m>=1<<i) m-=1<<i,ans+=1<<i;
40     }
41     printf("%d\n",ans);
42     return 0;
43 }

转载于:https://www.cnblogs.com/wanglichao/p/6879894.html

【NOI2014】起床困难综合症 贪心相关推荐

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

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

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

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

  3. BZOJ3668:[NOI2014]起床困难综合症(贪心)

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

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

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

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

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

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

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

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

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

  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之间找一个数,使得这个数在一系列操作后最大. 由于原数有大小限制,又要使得到的数尽量大,为了充 ...

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

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

最新文章

  1. linux下压缩并分割稀疏文件
  2. POJ 1035, Spell checker
  3. Intellij IDEA中使用Protobuf的正确姿势
  4. java call oracle procudure setBoolean问题PLS-00306: wrong number or types of arguments in call to
  5. superset可视化-word cloud
  6. 起一卦,还是那个破事。还是大凶。
  7. aspnetcore 应用 接入Keycloak快速上手指南
  8. UVA 662 Fast Food
  9. 一文掌握Redisson分布式锁原理|干货推荐
  10. LSTM+MDN【混合密度网络】---sketch rnn
  11. ImportError: libjpeg.so.62: cannot open shared object file: No such file or directory
  12. mysql别人的框架_MySQL逻辑架构
  13. C#.NET学习笔记2---C#.第一个C#程序
  14. 机器学习面试-Keras/tensorflow
  15. 使用gc、objgraph干掉python内存泄露与循环引用!
  16. 信步漫谈之JDK—源码编译
  17. 计算机应用202001常规,2001年4月份全国高等教育自学考试计算机应用基础试题
  18. QAOA如何在NISQ处理器中展示应用级量子优势?
  19. 形式语言与自动机 第4章 正规文法和正规集的性质
  20. 中文转换为拼音工具类(很全)

热门文章

  1. 华为畅享8plus停产了吗_牢记华为手机“三不买”原则,不花冤枉钱,选错要吃亏!...
  2. 是否可以限制蓝牙传输距离_技术文章—关于蓝牙传输范围的常见误解
  3. python控件随窗口变化而适配_Tkinter窗口/控件比例调整
  4. python批处理栅格转点_python获取栅格点和面值的实现
  5. c++ socket学习(1.1)
  6. LeetCode 100. 相同的树 思考分析
  7. java 方法 示例_Java集合syncedSet()方法与示例
  8. c# 前导0_C#| 用前导零填充整数
  9. 训练指南——数学专题一的总结
  10. Redis源码分析(一)redis.c //redis-server.c