[NOI2014] 起床困难综合症
水题的题解也水......
原题链接:洛谷 P2114 [NOI2014]起床困难综合症
位运算每一位之间互不干扰。
经过所有门之后每一位不外乎四种结果:一定是0,一定是1,不变或取反。
按位枚举,贪心即可。
对于不变的,我们在限制之内尽可能选更多的1。
其余三种都选0。
代码略显繁杂。
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 6 int n,m; 7 int op[100005]; 8 int b[100005]; 9 int res[35]; 10 int fin[35]; 11 int ans; 12 13 int main() 14 { 15 scanf("%d%d",&n,&m); 16 char tp[10]; 17 for(int i=1;i<=n;i++) 18 { 19 scanf("%s",tp+1); 20 scanf("%d",&b[i]); 21 if(tp[1]=='A')op[i]=1; 22 if(tp[1]=='O')op[i]=2; 23 if(tp[1]=='X')op[i]=3; 24 } 25 for(int i=0;i<=30;i++) 26 { 27 for(int j=n;j;j--) 28 { 29 int nw=((b[j]>>i)&1); 30 if(op[j]==1) 31 { 32 if(nw==0){res[i]+=2;break;} 33 if(nw==1)continue; 34 } 35 if(op[j]==2) 36 { 37 if(nw==0)continue; 38 if(nw==1){res[i]=res[i]?2:3;break;} 39 } 40 if(op[j]==3) 41 { 42 if(nw==0)continue; 43 if(nw==1)res[i]=(res[i]^1); 44 } 45 } 46 } 47 int fl=0; 48 for(int i=30;i>=0;i--) 49 { 50 int gl=((m>>i)&1); 51 int nw=(res[i]==0); 52 if(fl)fin[i]=nw; 53 if(gl==1&&nw==1)fin[i]=1; 54 if(gl==1&&nw==0)fl=1; 55 } 56 for(int i=0;i<=30;i++) 57 { 58 if(fin[i])ans=ans|(1<<i); 59 if(res[i]%2)ans=ans|(1<<i); 60 } 61 printf("%d",ans); 62 return 0; 63 }
complete code
转载于:https://www.cnblogs.com/eternhope/p/9475712.html
[NOI2014] 起床困难综合症相关推荐
- 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][ ...
- 【题解】洛谷P2114 [NOI2014]起床困难综合症
前往:我自己搭建的博客 题目 洛谷P2114 [NOI2014]起床困难综合症 题解 题意简化为:在0~m之间找一个数,使得这个数在一系列操作后最大. 由于原数有大小限制,又要使得到的数尽量大,为了充 ...
- [BZOJ 3668UOJ #2][Noi2014]起床困难综合症(贪心)
Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找 ...
- BZOJ3668:[NOI2014]起床困难综合症(贪心)
Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找 ...
最新文章
- Tomcat6(含Tomcat6)之后默认没有common,server和shared文件夹,如何配置
- 平安京服务器维护不能打字,《决战!平安京》:玩的真的累,我真的是服了这破游戏的举报系统...
- 织梦配置多个mysql_一台机器,多个mysqld服务
- 账号 linux_Linux入门之UID和GID(用户ID和组ID)
- 《江南百景图》,解谜经营背后的逻辑
- [css] 你有没有自己写过一套UI库?说下遇到哪些难点?
- 敲了几年代码,是时候考虑以后的发展了
- 在DELL服务器上升级ESXI 5.5
- django mysql开发_基于django框架web项目实战开发四 django+mysql实现增删查改功能
- python 微信公众号-回调模式验证url
- 通过Docker进程pid获取容器id
- openssl学习笔记--CA及https网站证书配置
- IDEA SpringBoot多模块项目搭建详细过程(转)
- java中跑批指的是什么_DB2几个问题的处理(三)
- foxmail html模板,Foxmail“邮件模板”功能全攻略
- 注册公司的基本流程 version_1.0
- 用贾樟柯访谈评《疯狂的程序员》
- 区块链技术在食品供应链领域的应用
- 嵌入式服务器appweb交叉编译指南
- shell切分字符串到数组