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,还是绿名,这就很尴尬.之后觉得后面的题目也没有想象的那么难(看通过人数)过两天吧剩下 ...
随机推荐
- Horner规则求多项式
/* Horner */ /*多项式:A(x)=a[n]X^n+a[n-1]x^n-1+...+a[1]X^1+a[0]X^0*/ #include <stdio.h> long int ...
- jsp中的input
Input表示Form表单中的一种输入对象,其又随Type类型的不同而分文本输入框,密码输入框,单选/复选框,提交/重置按钮等,下面一一介绍. 1,type=text 输入类型是text,这是我们见的 ...
- LINUX系统配置相关
修改系统引导文件 grub.cfg的文件位置 /boot/grub/grub.cfg set default="4" 默认windows是在第四个选项 set timeout ...
- 用命令部署WebPart
Webpart一般是一个wsp文件,可以在VS里面通过右键来部署.但一般真正的生产服务器上面是不会安装VS的,所以一般情况下是把wsp文件拷贝到服务器上面然后启动PowerShell用命令来部署. 部 ...
- error LNK2001: unresolved external symbol "public: __thiscall ControllerInterface::ControllerInterface(class QObject *)" (??0ControllerInterface@@QAE@PAVQObject@@@Z) downloadcontroller.obj
前几天刚遇到这个问题,但是今天再碰到就又要思考怎么解决.这次特别记录一下,以防下次碰到再手足无措: 1.看到这个报错第一感觉LNK关键字,表示连接错误,这种错误有几个可以下手的点 1)函数声明和定义是 ...
- 『JavaScript』核心
弱类型语言 JavaScript是一种弱类型的语言.变量可以根据所赋的值改变类型.原始类型之间也可以进行类型转换.其弱类型的物质为其带来了极大的灵活性. 注意:原始类型使用值传递,复合类型使用引用传递 ...
- 《python核心编程第二版》第4章习题
4–1. Python 对象.与所有 Python 对象有关的三个属性是什么?请简单的
- MySQL☞order by与distinct
asc(升序,默认值)/desc(降序) 1.根据某一列的列值进行升序或者降序操作. select 列名 别名 from 表名 order by 列名 asc/desc 2.根据多个列值进行排序 s ...
- Linux常用命令及搭建测试环境
题外话:三大操作系统------Linux.Unix.Windows,Unix系统如常见的Mac OS,Linux的很多命令跟Unix是通用的,所以就有一些开发人猿喜欢用苹果的原因.Linux发行版特 ...
- 总结java操作MySQL 即JDBC的使用
java.sql包中存在DriverManager类,Connection接口,Statement接口和ResultSet接口.类和接口作用如下: DriverManager:主要用于管理驱动程序和连 ...