【题解】CF1013B And
题面传送门
解决思路
首先我们可以得出,$ a $ \(\&\) $ x $ \(=\) $ a $ \(\&\) $ x $ \(\&\) $ x $。由此得知,同一个 \(a\) 反复 \(\&\) \(x\) 是没有意义的。所以我们得到,答案仅可能是以下几种情况:
- \(ans = 0\) ,即有相同的数字,不需要操作。
- \(ans = 1\) ,即对于某个 \(a_i\) \(\&\) $ x $ \(=\) \(a_j\),其中 $1 \le i,j\le n $ 且 \(j \ne i\) 。
- \(ans = 2\) ,即对于某两个 \(a_i\) \(\&\) $ x $ \(=\) \(a_j\) \(\&\) $ x $ ,其中 $1 \le i,j\le n $ 且 \(j \ne i\) 。
- \(ans = -1\) ,即对于任意的 \(a_i\) \(\&\) $ x $ \(\ne\) \(a_j\) \(\&\) $ x $ ,其中 $1 \le i,j\le n $ 且 \(j \ne i\) 。
有了这个思路,再看到\(a_i \le 10^5\) ,我们就可以借助桶存下每个 \(a_i\) \(\&\) $ x $ ,然后判断即可。
AC Code
#include<bits/stdc++.h>
using namespace std;
int n,x,a[100005],t[100005],t2[100005],fl;
//t储存a[i]&x,t2用于判重(ans=0的情况)
int main(){
scanf("%d%d",&n,&x);
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
if(t2[a[i]]!=0){
printf("0");
return 0; //ans=0的情况
}
t2[a[i]]++;
if((a[i]&x)!=a[i]) t[a[i]&x]++; //a[i]&x=a[i]的不能计算在内
if(t[a[i]&x]>=2) fl=1; //如果出现过两次,就必有解
}
for(int i=1;i<=n;i++){
if(t[a[i]]>0){
printf("1"); //ans=1的情况
return 0;
}
}
if(fl==1) printf("2"); //有解
else printf("-1"); //无解
return 0;
}
【题解】CF1013B And的更多相关文章
- 题解合集 (update on 11.5)
收录已发布的题解 按发布时间排序. 部分可能与我的其他文章有重复捏 qwq . AtCoder for Chinese: Link ZHOJ: Link 洛谷 \(1\sim 5\) : [题解]CF ...
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
随机推荐
- identity4 系列————持久化配置篇[五]
前言 上面已经介绍了3个例子了,并且介绍了如何去使用identity. 但是在前面的例子中,我们使用的都是在内存中操作,那么正式上线可能需要持久到数据库中. 这里值得说明的是,并不一定一定要持久化到数 ...
- 【java】学习路径38-数学模型分析:不同方式复制文件所需的时间
测试文件:一段72kb的文本.约5.6MB大小的pdf论文.约38.9MB大小的无损音频文件. demo001 论<到灯塔去>的凝视主题.pdf irreplaceable.movpkg ...
- C# for循环创建多线程
这里仅讨论Task多线程编程,不讨论其他可以使用多线程的情况,比如Beginxxx,Thread等 一般情况下,如果有多个线程需要同是启动,且每个线程中使用了集合collection中的序号. 比如参 ...
- 【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
问题描述 在使用Azure Spring Cloud服务时,如果要收集应用程序的日志.有控制台输出(实时流日志),也可以配置Log Analytics服务. 日志流式处理 可以通过以下命令在 Azur ...
- KingbaseES R3 集群主库归档失败案例
案例说明: 本案例用于KingbaseES R3集群归档进程归档日志失败的处理,对于一线的生产环境具有 一定的参考意义. 数据库版本: TEST=# select version(); VERSION ...
- Windows Server体验之应用兼容性按需功能
Windows Server默认仅能支持几个有图形界面的应用包括注册表编辑器regedit.记事本notepad.任务管理器taskmgr.时间设置control timedate.cpl.区域设置c ...
- axos在async模式下如何中断请求
main.js import axios from 'axios' Vue.prototype.$http = axios Test.vue <template> <div clas ...
- Java SE 19 新增特性
Java SE 19 新增特性 作者:Grey 原文地址: 博客园:Java SE 19 新增特性 CSDN:Java SE 19 新增特性 源码 源仓库: Github:java_new_featu ...
- mysqld_exporter参数信息
[root@database03 mysqld_exporter]# ./mysqld_exporter --help usage: mysqld_exporter [<flags>] F ...
- 使用KVM的图形化界面安装centos7虚拟机
前提条件 1.宿主机上已经安装KVM的图形化管理软件,参考网址:https://www.cnblogs.com/sanduzxcvbnm/p/15538881.html 2.宿主机上安装vnc服务器, ...