[NOI2014]魔法森林 二分答案
来源:互联网 发布:外婆的澎湖湾 知乎 编辑:程序博客网 时间:2024/06/08 18:06
简单题吧
二进制各个位置是独立的
所以可以一位一位贪心来做
爆枚每一位是0还是1,然后
时间代价
#include <bits/stdc++.h>#define N 200050using namespace std;inline int rd() { int x=0,f=1;char ch=getchar(); while (ch>'9'||ch<'0') {if(ch=='-')f=-1;ch=getchar();} while (ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+ch-'0';ch=getchar();} return x*f;}struct Dat{int _,t;}Q[N];int n,m,t;char s[10];int check(int x) { for (int i=1;i<=n;i++) { Q[i]._==1? x&=Q[i].t :0; Q[i]._==2? x|=Q[i].t :0; Q[i]._==3? x^=Q[i].t :0; } return x;}int main() { n = rd(), m = rd(); for (int i=1;i<=n;i++) { scanf("%s%d",s+1,&t); if (s[1] == 'A') Q[i] = (Dat){1,t}; if (s[1] == 'O') Q[i] = (Dat){2,t}; if (s[1] == 'X') Q[i] = (Dat){3,t}; } int ans = 0; for (int i=30;i>=0;i--) { int na = ans + (1<<i); if (na > m) continue; if (check(na) > check(ans)) ans = na; } cout << check(ans) << endl; return 0;}
阅读全文
0 0
- [NOI2014]魔法森林 二分答案
- BZOJ3669 [Noi2014]魔法森林
- 【NOI2014】魔法森林
- bzoj3669: [Noi2014]魔法森林
- [BZOJ3669][Noi2014]魔法森林
- NOI2014魔法森林题解
- 【NOI2014】【BZOJ3669】魔法森林
- 【NOI2014】魔法森林
- [bzoj3669][NOI2014]魔法森林
- BZOJ3669: [Noi2014]魔法森林
- #3. 【NOI2014】魔法森林
- 【NOI2014】魔法森林
- bzoj3669: [Noi2014]魔法森林
- 3669: [Noi2014]魔法森林
- 【NOI2014】魔法森林
- NOI2014-魔法森林(LCT)
- 【NOI2014】魔法森林
- BZOJ3669: [Noi2014]魔法森林
- PI表中新增字段
- Hadoop实践(二)---集群和开发环境搭建(Intellij IDEA & Maven 开发Hadoop)
- uImage生成过程
- 洛谷P1003 铺地毯(简单模拟)
- String类学习笔记(1)
- [NOI2014]魔法森林 二分答案
- 自动生成mybatis的XML文件
- react native点击事件传递参数
- Android线程—ThreadLocal
- ztree的初级使用
- 【Java实战】源码解析Java SPI(Service Provider Interface )机制原理
- RYU实战,REST API流表控制(1)
- 解决swift实现的websocket与后台通信问题:websocket is disconnected: masked and rev data is not currently supported
- MVC4 + EF 创建项目