B. Array K-Coloring

给定一个数组

要求对元素进行染色,满足相同元素颜色一定不同,且所有颜色要全部用完

#include<bits/stdc++.h>
using namespace std;
#define sc(x) scanf("%I64d",&x);
#define int long long
vector<int> v[];
int ans[];
signed main()
{
int n,k,a;
sc(n);
sc(k);
int ma=;
for(int i=;i<n;i++){
sc(a);
v[a].push_back(i);
if(v[a].size()>k){
puts("NO");
return ;
}
ma=max(ma,(int)v[a].size());
}
int t=; for(int j=;j<=k;j++)
for(int i=;i<=;i++){
if(v[i].size()>){
ans[v[i][]]=j;
v[i].erase(v[i].begin());
t++;
}
if(n-t==k-j){
break;
}
}
puts("YES"); for(int i=;i<n;i++){
if(ans[i]==){
cout<<(k--)<<' ';
}
else
cout<<ans[i]<<' ';
}
}

B. Array K-Coloring的更多相关文章

  1. [LeetCode] K Inverse Pairs Array K个翻转对数组

    Given two integers n and k, find how many different arrays consist of numbers from 1 to n such that ...

  2. 文件大小K、M、G、T

    function size2mb($size,$digits=2){ //digits,要保留几位小数 $unit= array('','K','M','G','T','P');//单位数组,是必须1 ...

  3. Remove Duplicates From Sorted Array

    Remove Duplicates from Sorted Array LeetCode OJ Given a sorted array, remove the duplicates in place ...

  4. S5中新增的Array方法详细说明

      ES5中新增的Array方法详细说明 by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wor ...

  5. ES5中新增的Array方法详细说明

    一.前言-索引 ES5中新增的不少东西,了解之对我们写JavaScript会有不少帮助,比如数组这块,我们可能就不需要去有板有眼地for循环了. ES5中新增了写数组方法,如下: forEach (j ...

  6. O(n)获得中位数及获得第K小(大)的数

    首先,中位数问题可以归结为求 K=n/2的 第K小元素,并无明显区别. 第一种方法,用MaxHeap,大小为K的大顶堆,能够求出最小的K的元素,复杂度为O(n*logK). 当K较大时,复杂度会较高. ...

  7. 【leetcode】363. Max Sum of Rectangle No Larger Than K

    题目描述: Given a non-empty 2D matrix matrix and an integer k, find the max sum of a rectangle in the ma ...

  8. 第K顺序统计量

    1.第K顺序统计量概念 在一个由n个元素组成的集合中,第k个顺序统计量是该集合中第k小的元素.例如,最小值是第1顺序统计量,最大值是第n顺序统计量. 2.求Top K元素与求第K顺序统计量不同 Top ...

  9. 九度OJ 1371 最小的K个数 -- 堆排序

    题目地址:http://ac.jobdu.com/problem.php?pid=1371 题目描述: 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4 ...

  10. 查询无序列表中第K小元素

    当需要在无需列表中寻找第k小的元素时,一个显然的方法是将所有数据进行排序,然后检索k个元素.这种方法的运行时间为O(n log(n)). 无序列表调用分区函数将自身分解成两个子表,其长度为i和n-i. ...

随机推荐

  1. Windows Forms和WPF在Net Core 3.0框架下并不会支持跨平台

    Windows Forms和WPF在Net Core 3.0框架下并不会支持跨平台 微软将WinForms和WPF带到.NET Core 3.0这一事实,相信大家都有所了解,这是否意味着它在Linux ...

  2. 【6.24校内test】T2 不老梦

    [题目背景] 于万人中万幸得以相逢,刹那间澈净明通. 成为我所向披靡的勇气和惶恐,裂山海,堕苍穹. 爱若执炬迎风,炽烈而哀恸,诸般滋味皆在其中. 韶华宛转吟诵,苍凉的光荣,急景凋年深情难共. ——银临 ...

  3. Til the Cows Come Home 最短路Dijkstra+bellman(普通+优化)

    Til the Cows Come Home 最短路Dijkstra+bellman(普通+优化) 贝西在田里,想在农夫约翰叫醒她早上挤奶之前回到谷仓尽可能多地睡一觉.贝西需要她的美梦,所以她想尽快回 ...

  4. window7下安装Elasticseach5.2.2

    1. 安装JDK,至少1.8.0_73以上版本 java -version 2. 下载和解压缩Elasticsearch安装包,目录结构 3. 启动Elasticsearch:bin\elastics ...

  5. Comet OJ - Contest #5 E 迫真大游戏

    怎么说,看了推到之后真的不难,事实上确实也蛮友好(可能咱就是想不出多项式题目的做法???),除了用到了分治法法塔就比较毒瘤 花了一个晚上以及一个上午做这么一道题...(还是太菜了) Result1 分 ...

  6. 将ShellCode注入进程内存

    内存注入ShellCode的优势就在于被发现的概率极低,甚至可以被忽略,这是因为ShellCode被注入到进程内存中时,其并没有与之对应的硬盘文件,从而难以在磁盘中取证,但也存在一个弊端由于内存是易失 ...

  7. php邮件防注入以及实现经典代码

    <?php function spamcheck($field) {     // filter_var() 过滤 e-mail     // 使用 FILTER_SANITIZE_EMAIL ...

  8. 关于时间:UTC时间、GMT时间、本地时间、Unix时间戳

    1.UTC时间 与 GMT时间我们可以认为格林威治时间就是时间协调时间(GMT=UTC),格林威治时间和UTC时间均用秒数来计算的. 2.UTC时间 与 本地时UTC + 时区差 = 本地时间时区差东 ...

  9. 关于session和cookie的区别

    以前对于session和cookie的认识,就只是粗略的知道cookie保存在客户端,而session则保存在服务端. 如今查了些资料,对session和cookie也有了一个初步的认识,现在来总结一 ...

  10. 经典解压缩软件 WinRAR 5.80 sc 汉化去广告版

    目录 1. 按 2. 提醒 3. 下载地址 1. 按 WinRAR拥有全球超过五千万的用户,是目前最受欢迎的压缩软件, 没有比它更加好的方法来实现高效安全的文件传输,减少电子邮件传输时间,或是迅速压缩 ...