Luogu2114 [NOI2014]起床困难综合症 【位运算】
题目分析:
按位处理即可
代码:
1 #include<bits/stdc++.h> 2 using namespace std; 3 4 const int maxn = 105000; 5 6 int n,m; 7 int a[maxn],b[maxn]; 8 9 void work(){ 10 int z = 0; 11 for(int i=29;i>=0;i--){ 12 if((1<<i)+z > m)continue; 13 int l = (1<<i),r=0; 14 for(int i=1;i<=n;i++){ 15 if(a[i] == 0) l = (l&b[i]),r = (r&b[i]); 16 else if(a[i] == 1) l = (l|b[i]),r = (r|b[i]); 17 else l = (l^b[i]),r = (r^b[i]); 18 } 19 if((r&(1<<i)) != 0) continue; 20 if((l&(1<<i)) == 0) continue; 21 z += (1<<i); 22 } 23 for(int i=1;i<=n;i++){ 24 if(a[i] == 0) z = (z&b[i]); 25 else if(a[i] == 1) z= (z|b[i]); 26 else z = (z^b[i]); 27 } 28 printf("%d\n",z); 29 } 30 31 int main(){ 32 scanf("%d%d",&n,&m); 33 for(int i=1;i<=n;i++){ 34 char ch = getchar(); 35 while(ch > 'Z' || ch < 'A') ch = getchar(); 36 if(ch == 'A'){a[i] = 0;} 37 else if(ch == 'O'){a[i] = 1;} 38 else a[i] = 2; 39 while(ch != ' ') ch = getchar(); 40 scanf("%d",&b[i]); 41 } 42 work(); 43 return 0; 44 }
转载于:https://www.cnblogs.com/Menhera/p/10799367.html
Luogu2114 [NOI2014]起床困难综合症 【位运算】相关推荐
- CH - 0104 起床困难综合症(位运算+贪心)
题目链接:点击查看 题目大意:我们需要构造一个初始值start,范围在[0,m],要求使用这个初始值进行k次操作后得到的答案最大,每次操作分为三个类型: AND x:让当前答案与x进行按位与 OR x ...
- 【NOI2014】起床困难综合症 位运算+贪心
这道题先求出0和-1经过处理后的答案 具体看代码吧 #include<cstdio> #include<cstring> #include<algorithm> u ...
- [NOI2014] 起床困难综合症
水题的题解也水...... 原题链接:洛谷 P2114 [NOI2014]起床困难综合症 位运算每一位之间互不干扰. 经过所有门之后每一位不外乎四种结果:一定是0,一定是1,不变或取反. 按位枚举,贪 ...
- BZOJ 3668: [Noi2014]起床困难综合症( 贪心 )
之前以为xor,or,and满足结合律...然后连样例都过不了 早上上体育课的时候突然想出来了...直接处理每一位是1,0的最后结果, 然后从高位到低位贪心就可以了... 滚去吃饭了.. ------ ...
- [BZOJ3668][Noi2014]起床困难综合症 贪心
3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2409 Solved: 1360 [Submit][ ...
- 洛谷 P2114 [NOI2014]起床困难综合症 解题报告
P2114 [NOI2014]起床困难综合症 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作 ...
- 洛谷P2114 [NOI2014]起床困难综合症
P2114 [NOI2014]起床困难综合症 题目描述 21世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm一直坚持与起床困难综合症作 ...
- BZOJ 3668: [Noi2014]起床困难综合症【二进制+贪心】
3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MB Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症 ...
- bzoj3668 [Noi2014]起床困难综合症
3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 2547 Solved: 1460 [Submit][ ...
最新文章
- AJAX解决中文乱码问题
- html5实践开发教程,HTML5基础与实践教程
- 21、深入浅出MFC学习笔记,Application Framework简介
- vhdl变量赋初值_5.5 C++自动变量
- 使用批处理查看.class文件内容--javap指令
- 使用Docker-数据卷命令
- CentOS安装使用.netcore极简教程(免费提供学习服务器)
- Strange Partition CodeForces - 1471A
- android 6.0适应的机型,提升用户体验 可升Android 6.0机型盘点
- 华为云FusionInsight MRS:千余节点滚动升级业务无中断
- windows ad 域下配置L2TP ***服务器 企业防火墙端口配置
- UE4 C++头文件
- 正则表达式同时匹配中英文及常用正则表达式
- 华为手表 android app,华为手表app叫什么
- Android中的传感器之---陀螺仪传感器
- Python 后端统一社会信用代码校验
- [转载]C语言中的奇技淫巧
- 1445. 苹果和桔子
- context 的用法是什么?(数据之间的跨组件交互传递)
- PS 快速抠图换背景
热门文章
- SAP CRM和Cloud for Customer里客户主数据的层级维护
- ABAP下载的病毒扫描Virus Scan
- 苹果手机信号是哪个服务器,苹果手机信号差是网络问题还是手机问题
- mysql数据库主要负责存储_MySQL默认数据库简介
- 边缘计算框架_【北大成果】一种集成多组网协议多边缘计算框架的边缘计算处理平台...
- python两个类共用一个变量_python – 如何从一个类到另一个类访问变量?
- 周三多管理学第七版pdf_为什么说管理学原理是企业领导的必修课?
- mysql中需要提交的操作_MySQL常用操作及基础知识
- python中添加高斯噪声_关于python:高斯噪声与高斯白噪声
- 金相图像处理 matlab,基于MATLAB软件的图像处理技术 毕业论文.doc