https://codeforces.com/contest/1102/problem/B

题解:

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUG
#define RI register int
using namespace std;
typedef long long ll;
//typedef __int128 lll;
const int N=100000+10;
const int MOD=1e9+7;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m,k,q;
int ans,cnt,flag,temp;
int a[N];
int sum[N];
int c[N];
vector<int>vec[N];
int hgf;
char str;
map<int,int>p;
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endifscanf("%d%d",&n,&k);for (int i=1;i<=n;++i){scanf("%d",&a[i]);sum[a[i]]++;}for (int i=1;i<=5000;++i){if (sum[i]>k){printf("NO\n");return 0;}}printf("YES\n");hgf=1;for (int i=1;i<=n;++i){if (hgf<=k&&c[a[i]]==0){printf("%d ",hgf);vec[a[i]].push_back(hgf);hgf++;}else{int flag=1;while (flag){c[a[i]]++;if (!vec[a[i]].empty()){for (int j=vec[a[i]].size()-1;j>=0;--j){if (c[a[i]]==vec[a[i]][j]){flag=1;break;}flag=0;}}else flag=0;}printf("%d ",c[a[i]]);}}//cout << "Hello world!" << endl;return 0;
}

Array K-Coloring相关推荐

  1. python递归算法 电影院票价问题_算法课堂实验报告(二)——python递归和分治(第k小的数,大数乘法问题)...

    python实现递归和分治 一.开发环境 开发工具:jupyter notebook 并使用vscode,cmd命令行工具协助编程测试算法,并使用codeblocks辅助编写C++程序 编程语言:py ...

  2. 趣解面试高频算法难题:数组中的第K个最大元素

    第二天,在另一家公司-- 小灰是吧?请简单介绍一下你自己. 好的,blah blah blah-- 下面考你一道算法题: 给你一个无序数组,要求你找出数组中的第k大元素. 题目是什么意思呢?比如给定的 ...

  3. 在一个无序的int数组上构建一个最小堆的时间复杂度_漫画:寻找无序数组的第k大元素(修订版)...

    ----- 第二天 ----- 题目是什么意思呢?比如给定的无序数组如下: 如果 k=6,也就是要寻找第6大的元素,这个元素是哪一个呢? 显然,数组中第一大的元素是24,第二大的元素是20,第三大的元 ...

  4. 《漫画算法2》源码整理-7 第K大的数字

    第K大的数字 public class KthLargestNumber {/*** 寻找第k大的元素* @param array 待调整的堆* @param k 第几大*/public static ...

  5. php怎样解析数组,PHP 数组 Array 解析

    官方介绍 PHP 数组实际上是一个有序的映射(map),映射是一种把多个值(values)关联到对应的多个键(keys)的类型.这种映射类型在很多方面做了优化,因此可以把它当成真正的数组(就是上面说的 ...

  6. kmeans中的k的含义_聚类的Python实现(二):确定分群数K

    对于KMeans算法聚类数k的选取非常重要,下面介绍两种常用的选择方法. 手肘法 手肘法的核心指标是SSE(sum of the squared errors,误差平方和): 其中,Ci是第i个簇,p ...

  7. 数组中的元素赋值给元素_漫画:寻找无序数组的第k大元素

    本期封面作者:泰勒太乐 -----  第二天  ----- 题目是什么意思呢?比如给定的无序数组如下: 如果 k=6,也就是要寻找第6大的元素,这个元素是哪一个呢? 显然,数组中第一大的元素是24,第 ...

  8. LeetCode 215 Kth Largest Element in an Array

    思路: 跟找第kth小的数相反,数组逆向排序.从前找第k - 1个数. 1 public class Solution { 2 public int findKthLargest(int[] arra ...

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

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

  10. 如何寻找无序数组中的第K大元素?

    如何寻找无序数组中的第K大元素? 有这样一个算法题:有一个无序数组,要求找出数组中的第K大元素.比如给定的无序数组如下所示: 如果k=6,也就是要寻找第6大的元素,很显然,数组中第一大元素是24,第二 ...

最新文章

  1. [译]函数式响应编程入门指南
  2. java能不能修改文件大小信息,更改最大上传文件大小
  3. toString()和String.valueOf()的区别(转)
  4. [python opencv 计算机视觉零基础到实战] 十二 直方图
  5. kali linux 截图位置,Kali Linux中使用shutter截图工具 | CN-SEC 中文网
  6. 光纤中的多种光学模式芯径_光纤光缆的21条基础知识
  7. Pandas Timedelta对象
  8. java 常量 类型_Java的常量及数据类型
  9. 磁共振成像(Magnetic Resonance Imaging,MRI)学习资料汇总,包括:在线学习视频、网站、教材
  10. 测试山石防火墙 接口中 逆向路由 设置与urpf是否有关
  11. 3小时快学期权(第二版)读书笔记(上)
  12. [渝粤教育] 中国地质大学(武汉) 走近国粹 中国陶瓷 参考 资料
  13. CSS详解(1.什么是css)
  14. 有一个班4个学生,5门课程①求第1门课程的平均分;②找出有两门以上课程不及格的学生,输出他们的学号和全部课程成绩及平均成绩;③找出平均成绩在90分以上或全部课程成绩在85分以上的学生分别编3个函数实
  15. NXP S32K146 FLEXI2C底层驱动+IAM-20680(二)
  16. PMP 考试一定要报培训班吗?
  17. 什么是AP/AP是什么意思?
  18. 程序员的8个高薪职业发展方向,总有一个适合你!
  19. 进销存管理轻松实现入库商品分类管理
  20. 共享经济时代,逸管家引领中小企业走向辉煌

热门文章

  1. gunicorn 配置日志
  2. 对话系统(二)-普通神经网络
  3. python3 llvmlite源码_将Paddle-Lite在树莓派上源码编译及编译python预测库
  4. java立方表示方法
  5. linux下搭建vnc服务器,linux下搭建Vncserver
  6. python大乐透2019143_[新浪彩票]老梁大乐透第19143期:前区大号走强
  7. Java爬取frame的课程表_从爬取湖北某高校hub教务系统课表浅谈Java信息抓取的实现 —— import java.*;...
  8. 单调不减序列查询第一个大于等于_[力扣84,85] 单调栈
  9. 十、给小白看的第三篇Python基础教程
  10. 博士申请 | 加拿大麦吉尔大学丁俊老师招收机器学习全奖博士/硕士/实习生