起床困难综合症 NOI_2014_D1T1
这道题的正解其实没什么好说的,反而是部分分设计非常巧妙。
之所以要单开一篇是因为当时机房的部分同学刚学位运算,我拿这个题去讲想毒瘤大家一下,于是做了一个挺好看的课件。
ppt -> pdf -> jpg 是真的麻烦。(最后也没成功)
开始一个大工程...手工截图!



















最后贴一下代码。
# include <cstdio>
# include <iostream>
# include <cmath>
# define R register int using namespace std; int xx,n,Max=,M,h=,d[],y[],m[],ans[];
long long Ans=;
char a[];
char cc;
bool now,f=true; bool check(bool x,int l)
{
for (R i=;i<=n;i++)
{
now=d[i]&(<<(l-));
if(y[i]==) x=x&now;
if(y[i]==) x=x^now;
if(y[i]==) x=x|now;
}
return x;
} int read()
{
xx=;
cc=getchar();
while (!isdigit(cc)) cc=getchar();
while (isdigit(cc)) xx=(xx<<)+(xx<<)+(cc^),cc=getchar();
return xx;
} int main()
{
cin>>n>>M;
for (R i=;i<=n;i++)
{
scanf("%s",a);
d[i]=read();
if(a[]=='A') y[i]=;
if(a[]=='X') y[i]=;
if(a[]=='O') y[i]=;
Max=max((int)log2(d[i])+,Max);
}
while (M)
{
m[++h]=M&;
M=M>>;
}
Max=max(Max,h)+;
for (R i=Max;i>=;i--)
{
if((m[i]==||f==false)&&check(,i)==&&check(,i)==)
ans[i]=;
else
{
if(check(,i)) ans[i]=;
if(m[i]==) f=false;
}
}
for (R i=Max;i>=;i--)
Ans=(Ans<<)|ans[i];
cout<<Ans;
return ;
}
起床困难综合症
起床困难综合症 NOI_2014_D1T1的更多相关文章
- BZOJ-3668 起床困难综合症 位运算+贪心
faebdc学长杂题选讲中的题目...还是蛮简单的...位运算写的不熟练... 3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 ...
- bzoj3668: [Noi2014]起床困难综合症
从高位到低位枚举期望的应该是ans最高位尽量取一.如果该数最高位为o的话能够取得1直接更新ans否则判断该位取1是否会爆m不会的话就加上. #include<cstdio> #includ ...
- NOI2014 起床困难综合症
3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 225 Solved: 153[Submit][Stat ...
- BZOJ 3668: [Noi2014]起床困难综合症( 贪心 )
之前以为xor,or,and满足结合律...然后连样例都过不了 早上上体育课的时候突然想出来了...直接处理每一位是1,0的最后结果, 然后从高位到低位贪心就可以了... 滚去吃饭了.. ------ ...
- BZOJ 3668: [Noi2014]起床困难综合症【贪心】
3668: [Noi2014]起床困难综合症 Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 2326 Solved: 1305[Submit][St ...
- 【NOI2014】起床困难综合症(贪心)
[NOI2014]起床困难综合症(贪心) 题面 Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚 ...
- Luogu 睡觉困难综合征 ([NOI2014]起床困难综合症)
一.[NOI2014]起床困难综合症 题目描述 网址:https://daniu.luogu.org/problemnew/show/2114 大意: 有一条链,链上每一个节点包含一个位运算f 与 一 ...
- [BZOJ3668] [Noi2014] 起床困难综合症 (贪心)
Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找 ...
- [NOI 2014]起床困难综合症
Description 21 世纪,许多人得了一种奇怪的病:起床困难综合症,其临床表现为:起床难,起床后精神不佳.作为一名青春阳光好少年,atm 一直坚持与起床困难综合症作斗争.通过研究相关文献,他找 ...
随机推荐
- JavaScript学习笔记系列1:JavaScript的是什么?
一.JS是什么? JavaScript作为Netscape Navigator浏览器的一部分首次出现在1996年.它最初的设计目标是改善网页的用户体验. 作者:Brendan Eich 期初JavaS ...
- emberjs 按年月分组
一个集合,里面有年和月的属性,按照年和月进行分组显示数据 + item.TopicMonth }).map(function (value, key) { return { time: { year: ...
- [Linux] Linux系统(用户管理)
Linux中有三种用户 Root用户:超级管理员 系统用户:Linux运行某些程序所必需的用户,不建议修改 普通用户:一般修改这个 使用命令groupadd,添加用户组,参数:组名称 在文件/etc/ ...
- 如果你的shiro没学明白,那么应该看看这篇文章,将shiro整合进springboot
最近在做项目的时候需要用到shiro做认证和授权来管理资源 在网上看了很多文章,发现大多数都是把官方文档的简介摘抄一段,然后就开始贴代码,告诉你怎么怎么做,怎么怎么做 相信很多小伙伴即使是跟着那些示例 ...
- <!DOCTYPE html>声明下div高度100%
问题:在HTML页面中声明<!DOCTYPE html>,页面中div属性设置100%页面显示不正常 body { max-width: 720px; margin: 0 auto; } ...
- 有 a - b < c 对Java安全性的思考
软件工程中,不论使用哪种开发语言,安全性一直是一个非常棘手却又重要的问题.安全性是软件开发领域永远的主题之一,而且随着互联网的蜂拥发展而带动的新技术的兴起与革命(比如近几年火起来的node.js,py ...
- PHP生成缩略图(2)--等比缩略图
分析: 当原图是横屏或竖屏的时候,希望缩略图会保持原来的比例缩放,不改变原图的完整性,即等比缩放! 此时只需确定原图的宽高,以及目标图的最大宽高,比较目标图的宽高比例与原图的宽高比例的大小,以此来判断 ...
- js-权威指南学习笔记16
1.元素的style属性可以用来设置样式,但是不适合用来查询样式(只能查询到内联样式). 2.CSS里的层叠指示了应用于文档中任何给定元素的样式规则是各个来源的层叠效果:Web浏览器的默认样式表.文档 ...
- CSS - 伪类和伪元素的区别
伪类和伪元素皆独立于文档结构.它们获取元素的途径也不是基于id.class.属性这些基础的元素特征,而是在处于特殊状态的元素(伪类),或者是元素中特别的内容(伪元素).区别总结如下: CSS伪类 (P ...
- Hive安装与应用过程
1. 参考说明 参考文档: https://cwiki.apache.org/confluence/display/Hive/GettingStarted 2. 安装环境说明 2.1. 环境说明 ...