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题解的更多相关文章

  1. Codeforces Avito Code Challenge 2018 D. Bookshelves

    Codeforces Avito Code Challenge 2018 D. Bookshelves 题目连接: http://codeforces.com/contest/981/problem/ ...

  2. Avito Cool Challenge 2018:D. Maximum Distance (最小生成树)

    题目链接 题意 : 给出一个联通图和一些特殊的点,现在定义cost(u,v)为一条从u到v的路径上面边权的最大值 , 定义dis(u,v) 为从u到v 路径上面cost 的最小值 然后求所有特殊点到其 ...

  3. Avito Cool Challenge 2018:D. Maximum Distance

    D. Maximum Distance 题目链接:https://codeforces.com/contest/1081/problem/D 题意: 给出一个连通图以及一些特殊点,现在定义cost(u ...

  4. Avito Cool Challenge 2018 :E. Missing Numbers

    E. Missing Numbers 题目链接:https://codeforces.com/contest/1081/problem/E 题意: 现在有n个数(n为偶数),但只给出a2,a4.... ...

  5. Avito Cool Challenge 2018:C. Colorful Bricks

    C. Colorful Bricks 题目链接:https://codeforces.com/contest/1081/problem/C 题意: 有n个横向方块,一共有m种颜色,然后有k个方块的颜色 ...

  6. [Avito Code Challenge 2018 G] Magic multisets(线段树)

    题目链接:http://codeforces.com/contest/981/problem/G 题目大意: 有n个初始为空的‘魔法’可重集,向一个‘可重集’加入元素时,若该元素未出现过,则将其加入: ...

  7. Avito Cool Challenge 2018

    考挂了.. A - Definite Game 直接看代码吧. #include<cstdio> #include<cstring> #include<algorithm ...

  8. Avito Cool Challenge 2018(div1+2)

    A. Definite Game: 题意:输入N,输出最小的结果N-x,其中x不少N的因子. 思路:N=2时,输出2:其他情况输出1:因为N>2时,N-1不会是N的因子. #include< ...

  9. Avito Code Challenge 2018

    第一次打CF,很菜,A了三道水题,第四题好像是是数位DP,直接放弃了.rateing从初始的1500变成了1499,还是绿名,这就很尴尬.之后觉得后面的题目也没有想象的那么难(看通过人数)过两天吧剩下 ...

随机推荐

  1. crest value &minimum

    public class paixu { public static void main(String[] args) { double temp; double num[]={5.1, 7.12, ...

  2. idea添加源代码目录,编译代码出现时钟样式

    项目结构需要有一个target目录,需要一个src目录,

  3. P3305 [SDOI2013]费用流

    题目描述 Alice和Bob在图论课程上学习了最大流和最小费用最大流的相关知识. 最大流问题:给定一张有向图表示运输网络,一个源点S和一个汇点T,每条边都有最大流量. 一个合法的网络流方案必须满足: ...

  4. 【Android】下拉刷新实现

    关于这方面的文章百度下有很多,我就只写写我自己实现过程. 我觉得学习一门语言不是做了几个项目就可以认为自己会了,这只是暂时的,若没有笔记,时间长了,你是怎么解决某些问题,估计连你自己都忘了,又得费时费 ...

  5. 分支push不上去的问题

    还原一下现场,我在自己的项目里面,从master里面checkout的一个分支,当我在我这个分支里面进行 push代码的操作,我突然发现我的代码不能执行push的操作,如图 这个原因是由于远端的仓库没 ...

  6. echarts的pie图中,各区块颜色的调整

    今天在学习使用echarts生成各种图表. 然后在使用pie图时出现我无论怎么更改代码中的颜色,pie图中各块的颜色都十分相近,几乎没法区别块与块之间的区别,如下图: 在下图中,除了其中一块的是红色的 ...

  7. Java日志(一):log4j与.properties配置文件

    日志是应用软件中不可缺少的部分,Apache的开源项目log4j是一个功能强大的日志组件,提供方便的日志记录,在Apache网站jakarta.apache.org/log4j可以免费下载到Log4j ...

  8. NetBeans集成SVN代码管理实例

    最近给银行做一个小工具,要求用Java做一个C端带界面的小工具,想来想去用NetBeans最合适,因为Eclipse,MyEclipse,IDEA这些做界面得要额外的UI插件,比较麻烦. 我跟同事两个 ...

  9. Linux-ls,cd,type命令

    windows: dll:dynamic link library,动态链接库 Linux: .so:shared object,共享对象 操作系统: kernel:内核: 1.进程管理 2.内核管理 ...

  10. 第七篇数字&字符串之练习题

    1.执行Python脚本的两种方式2.简述位.字节的关系3.简述ascii.unicode.utf-­‐8.gbk的关系4.请写出“李杰”分别用utf-­‐8和gbk编码所占的位数5.Pyhton单行 ...