「CSP-S 2020」动物园
description
solution
这道题作为T2,对选手们考试开始后先通看一遍所有题目的好习惯,以及判断究竟谁才是真正的签到题的重要能力进行了较好的锻炼,
特别准备的\(n=0,k=64\)更是让每个同学从此对\(long \ long\)与\(unsigned \ long \ long\)的范围究竟是多少印象深刻。
实在是出题人良心的馈赠,将为每位选手的oi之路上平添一份助力。
事实上,这道题属实是一道签到题,并且题目还保证了\(q_i\)互不相同
于是直接对于第\(k\)位为1的要求,如果已有的动物中没有满足这种要求的,那么所有第\(k\)位为1的动物都不能养
所以记录一下多少个二进制位可以自由选择\(0/1\),假设是\(cnt\),那么答案就是\(2^{cnt}-n\)
注意特判\(n=0,k=64\)的情况,此时答案\(2^{64}\)会超出\(unsigned \ long \ long\)的范围
code
#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long ll;
const int N=2e6+10;
int n,m,c,k,p[N],q[N];
ll a[N];
inline ll readll(){
ll x=0,f=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*f;
}
inline int readint(){
int x=0,f=1;char ch=getchar();
while(!isdigit(ch)){if(ch=='-') f=-1;ch=getchar();}
while(isdigit(ch)){x=(x<<3)+(x<<1)+(ch^48);ch=getchar();}
return x*f;
}
int f[100],w[100];
signed main(){
freopen("zoo.in","r",stdin);
freopen("zoo.out","w",stdout);
n=readint();m=readint();c=readint();k=readint();
for(int i=1;i<=n;++i) a[i]=readll();
for(int i=0;i<k;++i){
for(int j=1;j<=n;++j){
if(a[j]&(1ull<<i)){
f[i]=1;
break;
}
}
}
ll cnt=k;
for(int i=1;i<=m;++i){
p[i]=readint();q[i]=readint();
if(p[i]>=k) continue;
if(!f[p[i]]){
if(!w[p[i]]) cnt--;
w[p[i]]=1;
}
}
if(n==0&&cnt==64){
puts("18446744073709551616");
return 0;
}
if(cnt==64){
printf("18%llu\n",446744073709551616ull-(1ull*n));
return 0;
}
cout<<(1ull<<cnt)-n;
return 0;
}
「CSP-S 2020」动物园的更多相关文章
- 「CSP」第一届提高组考后总结
「CSP」第一届提高组考后总结 问题分析+反思 成绩 心态 考前心态 考时心态 考后心态 方法 心灵鸡汤... 在学习了三年之后,我们信竞迎来了初中最后一次大考,也是第一次 CSPCSPCSP 考试. ...
- 「NOIP 2020」微信步数(计数)
「NOIP 2020」微信步数(Luogu P7116) 题意: 有一个 \(k\) 维场地,第 \(i\) 维宽为 \(w_i\),即第 \(i\) 维的合法坐标为 \(1, 2, \cdots, ...
- 深圳即将启动首届「全国人工智能大赛」:超过 500 万大奖 & 政府资助,潜信息你读懂了吗!
人工智能加速“视频/视觉”发展,近期,深圳市即将迎来人工智能领域权威赛事之一——首届「全国人工智能大赛」(The First National Artificial Intelligence Chal ...
- 「CSP-S模拟赛」2019第四场
「CSP-S模拟赛」2019第四场 T1 「JOI 2014 Final」JOI 徽章 题目 考场思考(正解) T2 「JOI 2015 Final」分蛋糕 2 题目 考场思考(正解) T3 「CQO ...
- 迄今为止最硬核的「Java8时间系统」设计原理与使用方法
为了使本篇文章更容易让读者读懂,我特意写了上一篇<任何人都需要知道的「世界时间系统」构成原理,尤其开发人员>的科普文章.本文才是重点,绝对要读,走起! Java平台时间系统的设计方案 几乎 ...
- 「Netty实战 02」手把手教你实现自己的第一个 Netty 应用!新手也能搞懂!
大家好,我是 「后端技术进阶」 作者,一个热爱技术的少年. 很多小伙伴搞不清楚为啥要学习 Netty ,今天这篇文章开始之前,简单说一下自己的看法: @ 目录 服务端 创建服务端 自定义服务端 Cha ...
- 「有数可据」选择IT行业的1000个理由!
这你要我编 我也编不出一千个呀 现如今转行IT 还需要1000个理由吗? 不 不需要的 一个就好 10月初 CSDN博主「有数可据」 发布了 2020年10月国内程序员薪资情况 他本人是这样说的☟ ...
- 「每日一题」面试官问你对Promise的理解?可能是需要你能手动实现各个特性
关注「松宝写代码」,精选好文,每日一题 加入我们一起学习,day day up 作者:saucxs | songEagle 来源:原创 一.前言 2020.12.23日刚立的flag,每日一题,题目类 ...
- 「每日一题」有人上次在dy面试,面试官问我:vue数据绑定的实现原理。你说我该如何回答?
关注「松宝写代码」,精选好文,每日一题 时间永远是自己的 每分每秒也都是为自己的将来铺垫和增值 作者:saucxs | songEagle 来源:原创 一.前言 文章首发在「松宝写代码」 2020. ...
随机推荐
- PS模式编辑
5.1PS灰度模式 (1)灰度模式:最多包含256种灰度的8位图像. (2)模式含义:不同模式对颜色的分类甚至种类都不一样,可以理解为格式不一样. (3)灰度模式:可以在去RGB格式下去色处理达到利斯 ...
- Stream(四)
public class Test { /* * 创建:一步 * 中间:0~n步 * 终结:一步 * * 三.终结操作 * 1.void forEach(Consumer ):遍历流中的数据 * 2. ...
- 女朋友看了我的博客,说太LOW了,于是我搞了一天~
持续原创输出,点击上方蓝字关注我 原创博客+1,点击左下角阅读原文进入 目录 前言 如何下载? 配置文件的分类 基本信息配置 修改主题 Next主题样式设置 添加动态背景 修改链接的样式 添加文章搜索 ...
- 《JavaScript高级程序设计》——第四章 变量、作用域和内存管理
JavaScript变量可以用保存两种类型的值:基本类型值和引用类型值.基本类型的值源自以下基本类型数据:Undefined.Null.Boolean.Number和String. 从一个变量向另一个 ...
- C语言知识点复习梳理
C语言知识点复习梳理 C语言的知识点讲完了,接下来就是做一下整理与总结,然后就会进入其他知识的学习. 本文目录如下: 基础知识. 顺序程序设计. 数据类型. 标准输入输出. 进制转换. 选择结构. 循 ...
- SourceTree安装及卸载
一.安装步骤 下载地址: 链接:https://pan.baidu.com/s/1K5ImZASuThJZoGLz6Ay_4g 提取码:hqkp 1. 点击安装包,点击下一步 2. 出现账户注册的页面 ...
- 基于Vue.js PC桌面端弹出框组件|vue自定义弹层组件|vue模态框
vue.js构建的轻量级PC网页端交互式弹层组件VLayer. 前段时间有分享过一个vue移动端弹窗组件,今天给大家分享一个最近开发的vue pc端弹出层组件. VLayer 一款集Alert.Dia ...
- Java学习的第四十七天
1.用类函数来写时间类 import java.util.Scanner; public class Cjava { public static void main(String[]args) { T ...
- 水题挑战1:NOIP 2013 选择客栈
丽江河边有\(n\) 家很有特色的客栈,客栈按照其位置顺序从 \(1\) 到 \(n\) 编号.每家客栈都按照某一种色调进行装饰(总共 \(k\) 种,用整数 \(0 \sim k-1\) 表示),且 ...
- 关于红黑树,在HashMap中是怎么应用的?
关于红黑树,在HashMap中是怎么应用的? 前言 在阅读HashMap源码时,会发现在HashMap中使用了红黑树,所以需要先了解什么是红黑树,以及其原理.从而再进一步阅读HashMap中的链表到红 ...