[AGC016B] Colorful Hats (结论)
Description
有n个人,每个人都戴着一顶帽子。当然,帽子有不同的颜色。
现在,每个人都告诉你,他看到的所有其他人的帽子共有多少种颜色,请问你有没有符合所有人的描述的情况。
Input
第一行一个整数n。
第二行n个整数,第i个数ai表示第i个人看到的所有其他人帽子颜色的种数。
Output
若存在一种情况满足条件,输出"Yes",否则输出"No"。(均不含引号)
题解:
看起来就像是(玄学)结论题……
首先很明显的是,最大值和最小值的差不能大于1。
那我们先考虑最大值等于最小值的情况,首先全部都是1或者n-1都是合法的。
那其他的,每种颜色至少要有两顶或以上的帽子(任取一种可以看到的为另外几个和自己一样的和其他不同的)
那只要 \({n \over 颜色数}\geq 2\),即为合法。
那如果最大值不等于最小值,那么小的的那些帽子的颜色肯定都是独一无二的。
大的颜色肯定每种颜色的帽子都至少要有两顶。
那么把小的颜色总数减去,剩下的颜色填到剩下的空位去,看看能不能使剩下的颜色每种都有至少两个。
CODE:
#include<iostream>
#include<cstdio>
using namespace std;
int n,x,cnt=0;
int minv=1e9,maxv=-1e9;
int main(){
scanf("%d",&n);
for(int i=1;i<=n;i++){
scanf("%d",&x);
if(x==minv)cnt++;
if(x<minv)minv=x,cnt=1;
if(x>maxv)maxv=x;
}
if(maxv-minv>1)return printf("No"),0;
if(maxv==minv){
if(minv==n-1)return printf("Yes"),0;
return printf(n/minv>=2?"Yes":"No"),0;
}
int a=n-cnt,b=maxv-cnt;
if(b<1)return printf("No"),0;
return printf(a/b>=2?"Yes":"No"),0;
}
[AGC016B] Colorful Hats (结论)的更多相关文章
- agc016B - Colorful Hats(智商题)
题意 题目链接 有$n$个人,每个人有一种颜色,第$i$个人说除了我之外有$a_i$种不同的颜色,问是否存在一组合法解 Sol 700分的题就这么神仙了么..好难啊... 先说结论吧 设$mx, mn ...
- [agc016B][Colorful Hats]
题目链接 思路 首先,如果没人说谎那么序列中肯定只有一大一小两种数,假设大的数为x,小的数为y.因为对于每个人只有两种情况,要么自己与除自己外的某个人拥有相同的颜色,此时总颜色数就是这个人所能看到的颜 ...
- [agc016b]Colorful Hats 分类讨论
Description 有n个人,每个人都戴着一顶帽子.当然,帽子有不同的颜色. 现在,每个人都告诉你,他看到的所有其他人的帽子共有多少种颜色,请问你有没有符合所有人的描述的情况. Input ...
- AGC016B Colorful Hats(构造)
题目大意: 给定n和n个数,每个数a[i]代表除了i外序列中颜色不同的数的个数,问能否构造出来这个数列. 比较简单,首先先求出来a数列的最大值Max, 如果有数小于Max-1,那么显然是不存在的 接下 ...
- 2017国家集训队作业[agc016b]Color Hats
2017国家集训队作业[agc016b]Color Hats 题意: 有\(N\)个人,每个人有一顶帽子.帽子有不同的颜色.现在,每个人都告诉你,他看到的所有其它人的帽子共有多少种颜色,问有没有符合所 ...
- AGC 016B.Colorful Hats(思路)
题目链接 对于某个元素分类讨论一下,就可以知道n个元素的总颜色种数了. 比如对a[1]分类讨论: 若1的颜色和某个元素相同,则总颜色数为a[1].a[i]要么等于a[1](i与某个元素颜色相同,记个数 ...
- AT2386 Colorful Hats (乱搞题,思维题)
分情况讨论的神题... max不等于min + 1 或者不等于min,这种情况显然不存在. 如果都等于一个数 有两种情况: 互相独立,那么a[i]肯定==n-1 有相同的,那么a[i]一定不是独立的. ...
- AtCoder Grand Contest 016 B - Colorful Hats
题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_b 题目大意: 有\(N\)只猫,每只猫头上带着一个帽子,帽子有颜色,现在告诉你每只猫能看到的 ...
- Atcode B - Colorful Hats(思维)
题目链接:http://agc016.contest.atcoder.jp/tasks/agc016_b 题解:挺有意思的题目主要还是模拟出最多有几种不可能的情况,要知道ai的差距不能超过1这个想想就 ...
随机推荐
- java中如何设置HTTP协议的头信息(header)
首先,我们先看一下http的头信息到底是什么:HTTP(HyperTextTransferProtocol) 即超文本传输协议,目前网页传输的的通用协议.HTTP协议采用了请求/响应模型,浏览器或其他 ...
- (转)为什么在 2013 十月番中出现了很多以 3D 渲染代替传统 2D 绘画来表现人物的镜头?
一直都有的,特别是三次元这家公司一直致力于3d的风格化渲染既大家说的3d转2d.目前最厉害的商业化软件是pencil+,占领大部分的作品.而mentalray,早期用于disney的部分风格化渲染:i ...
- 初学js之qq聊天实例
实现的功能为上图所示,但是每新发送的消息必须显示在最上面. 我实现了两版,样式有是一样的.我们直接看代码. 版本一: <!DOCTYPE html> <html lang=" ...
- Qt中修改QtoolTip的样式
Qt中的QtoolTip有几个需要注意的: 1.不能直在堆或栈中生成QToolTip对象.因为其构造函数为私有.2.从widget获取的tooltip不是tooltip对象,而是tooltip中的文本 ...
- requests中文页面乱码解决方案【转】
requests中文页面乱码解决方案! 请给作者点赞 --> 原文链接 Python中文乱码,是一个很大的坑,自己不知道在这里遇到多少问题了.还好通过自己不断的总结,现在遇到乱码的情况越来越 ...
- VBA连接MySQL数据库以及ODBC的配置(ODBC版本和MySQL版本如果不匹配会出现驱动和应用程序的错误)
db_connected = False '获取数据库连接设置dsn_name = Trim(Worksheets("加载策略").Cells(2, 5).Value) ---- ...
- as API一些容易忘记的属性和方法
1.在flash动画里的一些动态文本会随着动画的执行,有抖动,解决问题的方法: tt为动画里的动态文本,tt.transform.matrix=null;
- 数据预处理之独热编码(One-Hot Encoding)
问题的由来 在很多机器学习任务中,特征并不总是连续值,而有可能是分类值. 例如,考虑以下三个特征: ["male","female"] ["from ...
- 同步锁之lock
一. synchronized的缺陷 当一个代码块被synchronized修饰时,同时该代码块被一个线程执行,其他线程便只能一直等待,等待获取锁的线程释放锁,而这里获取锁的线程释放锁只会有两种情况: ...
- MySQL安装教程&Navicat安装
一.下载MySQL http://jingyan.baidu.com/article/e3c78d64412ae83c4c85f5fd.html 首先打开MySQL官网,找到Downloads标签,点 ...