Avito Cool Challenge 2018 A. B题解
A. Definite Game
题目链接:https://codeforces.com/contest/1081/problem/A
题意:
给出一个数v,然后让你可以重复多次减去一个数d,满足v%d!=0,问最后可以得到最小的是多少。
题解:
除开v=2输出2,其余直接输出1就行了= =/
代码如下:
#include <bits/stdc++.h>
using namespace std;
int main(){
int v;
cin>>v;
cout<<(v== ? : );
return ;
}
B. Farewell Party
题目链接:https://codeforces.com/contest/1081/problem/B
题意:
有n种颜色,每种颜色都有ai种颜色与之不同。现在要求输出bi,bi代表第i个颜色的种类。
如果没有合法的情况,则输出"Impossible"。
题解:
数据范围告诉我们应该用O(nlogn)的解法。
首先我们知道,对于第i个颜色,有ai种颜色与之不同,那么就有n-ai种颜色与之相同。
那么我们可以考虑排个序,算出每个位置的颜色有多少是应与之相同的,并计算出ai的个数cnt[ai]。
我们可以贪心地想把cnt[ai]分为cnt[ai]/(n-ai)种颜色,前提是能够除尽。不能除尽则代表没有可行方案。
最后直接输出就行了。这题是special judge。
代码如下:
#include <bits/stdc++.h>
using namespace std;
typedef long long ll ;
const int N = 1e5+;
int b[N],cnt[N];
int n;
struct node{
int v,pos;
bool operator < (const node &A)const{
return v<A.v;
}
}a[N]; int main(){
scanf("%d",&n);
for(int i=;i<=n;i++){
scanf("%d",&a[i].v);
a[i].pos=i;
}
sort(a+,a+n+);
int flag=;
a[].v=-;a[n+].v=-;
for(int i=;i<=n;i++){
int v = a[i].v;
cnt[v]++;
}
for(int i=;i<=n+;i++){
if(a[i].v==a[i-].v) continue ;
int need=n-a[i].v;
if(cnt[a[i].v]%need!=){
flag=;break;
}
}
if(flag){
printf("Impossible");
}else{
int tot=;
for(int i=;i<=n;i++){
int v=a[i].v;
int need=n-a[i].v;
if(cnt[v]%need==) tot++;
cnt[v]--;
b[a[i].pos]=tot;
}
printf("Possible\n");
for(int i=;i<=n;i++) printf("%d ",b[i]);
}
return ;
}
Avito Cool Challenge 2018 A. B题解的更多相关文章
- Codeforces Avito Code Challenge 2018 D. Bookshelves
Codeforces Avito Code Challenge 2018 D. Bookshelves 题目连接: http://codeforces.com/contest/981/problem/ ...
- Avito Cool Challenge 2018:D. Maximum Distance (最小生成树)
题目链接 题意 : 给出一个联通图和一些特殊的点,现在定义cost(u,v)为一条从u到v的路径上面边权的最大值 , 定义dis(u,v) 为从u到v 路径上面cost 的最小值 然后求所有特殊点到其 ...
- Avito Cool Challenge 2018:D. Maximum Distance
D. Maximum Distance 题目链接:https://codeforces.com/contest/1081/problem/D 题意: 给出一个连通图以及一些特殊点,现在定义cost(u ...
- Avito Cool Challenge 2018 :E. Missing Numbers
E. Missing Numbers 题目链接:https://codeforces.com/contest/1081/problem/E 题意: 现在有n个数(n为偶数),但只给出a2,a4.... ...
- Avito Cool Challenge 2018:C. Colorful Bricks
C. Colorful Bricks 题目链接:https://codeforces.com/contest/1081/problem/C 题意: 有n个横向方块,一共有m种颜色,然后有k个方块的颜色 ...
- [Avito Code Challenge 2018 G] Magic multisets(线段树)
题目链接:http://codeforces.com/contest/981/problem/G 题目大意: 有n个初始为空的‘魔法’可重集,向一个‘可重集’加入元素时,若该元素未出现过,则将其加入: ...
- Avito Cool Challenge 2018
考挂了.. A - Definite Game 直接看代码吧. #include<cstdio> #include<cstring> #include<algorithm ...
- Avito Cool Challenge 2018(div1+2)
A. Definite Game: 题意:输入N,输出最小的结果N-x,其中x不少N的因子. 思路:N=2时,输出2:其他情况输出1:因为N>2时,N-1不会是N的因子. #include< ...
- Avito Code Challenge 2018
第一次打CF,很菜,A了三道水题,第四题好像是是数位DP,直接放弃了.rateing从初始的1500变成了1499,还是绿名,这就很尴尬.之后觉得后面的题目也没有想象的那么难(看通过人数)过两天吧剩下 ...
随机推荐
- 安装java 和 eclipse
昨天安装eclipse出现个问题, 安装完了创建第一个项目目录的时候弹窗报错an ......什么什么, 百度一堆没有用,后来发现是jdk12不支持,换了jdk8就可以了, 然后eclipse安装py ...
- Ubuntu中搭建Hadoop集群(简记)
stp1:在Vmware虚拟机上创建Ubantu.2环境 步骤:文件—>新建虚拟机—>典型(下一步)—>下一步——>位置(不建议放c盘,文件地址一定要全英文)—>下一步— ...
- 分分钟搞定redis
随着科技不断的发展,使用到的技术也是更新换代,大家都知道当一个程序用户量上来之后,必然是要做数据缓存的,那么如何去实现的呢,在之前我们一直使用memcache去做数据缓存,现在众所周知主流的缓存技术已 ...
- 安装mathtype出问题卸载后 office2016打开mathtype弹错误窗口
解决方法:找到 C:\Program Files (x86)\Microsoft Office\root\Office16\STARTUP目录下的MathType Commands 6 For Wor ...
- CentOS Linux release 7.5.1804下安装MySQL5.7.24
1.环境查看: 2.卸载自带MariaDB数据库: 3.下载MySQL5.7.14安装包: 4.使用wget工具下载需要安装数据库的依赖包: 5.解压缩bundel包: 6.按照顺序进行安装: 7.数 ...
- 爬取图片过程遇到的ValueError: Missing scheme in request url: h 报错与解决方法
一 .scrapy整体框架 1.1 scrapy框架图 1.2 scrapy框架各结构解析 item:保存抓取的内容 spider:定义抓取内容的规则,也是我们主要编辑的文件 pipelines:管道 ...
- [leetcode-648-Replace Words]
In English, we have a concept called root, which can be followed by some other words to form another ...
- Pro Git - 笔记1
Getting Started About Version Control Local Version Control Systems Centralized Version Control Syst ...
- 二分图的最大匹配——Hopcroft-Karp算法
http://blog.csdn.net/wall_f/article/details/8248373
- 修改maven远程仓库为阿里的maven仓库(复制)
maven之一:maven安装和eclipse集成 maven作为一个项目构建工具,在开发的过程中很受欢迎,可以帮助管理项目中的bao依赖问题,另外它的很多功能都极大的减少了开发的难度,下面来介绍ma ...