先来吐槽一下这个 sb 翻译,根本就没做过题吧……

大概就是让你给值域分成连续的几组,每组大小不能超过 \(k\),然后将序列中的值全部替换成其组内的最小值,要使得序列的字典序最小。

因为是字典序,所以越前面的值要尽量小。对于还未处理过的第一个值,找到能包含它的最小值,然后暴力分组。

时间复杂度 \(O\left(nk\right)\)。

code:

#include<bits/stdc++.h>
using namespace std;
#define Max(x,y)((x)>(y)?x:y)
#define For(i,x,y)for(i=x;i<=(y);i++)
#define Mems(i,j)memset(i,j,sizeof i)
int p[100005],a[256];
//a 数组表示每个值分的组中的最小值
int main()
{
int n,k,i,j,l;
scanf("%d%d",&n,&k);
For(i,1,n)scanf("%d",&p[i]);
Mems(a,-1);
For(i,1,n)
if(!~a[p[i]])
For(j,Max(p[i]-k+1,0),p[i])
if(!~a[j]||p[i]-a[j]<k)
{
For(l,j,p[i])a[l]=j;
break;
}
For(i,1,n)printf("%d ",a[p[i]]);
return 0;
}

CF980C Posterized的更多相关文章

  1. CF980C Posterized 贪心 二十五

    Posterized time limit per test 1 second memory limit per test 256 megabytes input standard input out ...

  2. Codeforces Round #480 (Div. 2)980C Posterized+分组类贪心

    传送门:http://codeforces.com/contest/980/problem/C 参考 题意:给定n个数字,每个数在0~256间,现在给至多连续k的数分为一组,给出字典序最小的答案. 思 ...

  3. CodeForces 980 C Posterized

    Posterized 题意:将[0,255] 分成 若干段, 每一段的长度最多为k, 每一个数只能被放进一个段里, 然后每一段的数组都可以被这一段最小的数字表示, 求最小的字典序. 题解:每次一个访问 ...

  4. codeforces 980C Posterized

    题意: 255个像素格子,可以把这个255个分组,每组的大小不能超过k. 给出n个像素,要求每个像素用这组的key代表,并且表示出来的字典序要最小. 思路: 感谢js教本智障. 很自然的会想到贪心,也 ...

  5. 【贪心】Codeforces Round #480 (Div. 2) C. Posterized

    题意:让你对[0,255]这个序列任意划分成一些不重叠的子段,每个子段的大小不超过K.给你n个不超过255的数,让你将每个数替换成它所在子段的任意一个元素,使得最终这个n个数的序列的字典序最小. p[ ...

  6. T - Posterized(贪心思维)

    Description Professor Ibrahim has prepared the final homework for his algorithm’s class. He asked hi ...

  7. Codeforces Round #480 (Div. 2) C - Posterized

    题目地址:http://codeforces.com/contest/980/problem/C 官方题解: 题解:一共256个像素网格,可以把这个256个分组,每个分组大小<=k.给出n个像素 ...

随机推荐

  1. Pytest框架中,conftest.py文件的作用?

    conftest.py文件,它主要是实现fixture共享的. 第一,conftest.py文件当中,它储存的都是fixture,就是给用例提供做前置准备工作和后置清理工作的一个东西: 第二,conf ...

  2. vue-main.js中new vue()的解析

    在main.js中,代码如下 import Vue from 'vue' import App from './App.vue' new Vue({ router, render: h => h ...

  3. git 上传代码报错eslint --fix found some errors. Please fix them and try committing again.

    在提交时用下面这句 git commit --no-verify -m "提交时的注释"

  4. print( "Hello,NumPy!" )

    print( "Hello,NumPy!" ) 学习痛苦啊,今天学,明天丢.这种天气,还是睡觉最舒服了. 咱说归说,闹归闹,但还是得学才行啊. 之前在学习的过程中一直都有记录笔记的 ...

  5. Zookeeper-3.5.8集群搭建

    大数据技术有着众多系统需要分布式协调服务,比如Hadoop.Kafka系统,其中主从切换.维护命名空间.以及分布式协调通知等场景,需要保证数据的分布式一致性. Zookeeper是业界最著名的分布式协 ...

  6. 【SpringBoot】11.Springboot整合SpringMVC+Mybatis(上)

    Springboot整合SpringMVC+Mybatis 需求分析:通过使用Springboot+SpringMVC+Mybatis 整合实现一个对数据库表users表的CRUD操作. 1.创建项目 ...

  7. 自己常用的Content-Type几种值用法

    Content-Type 的值类型: application/json:消息主体是序列化后的 JSON 字符串 这里要注意的是 我在使用webapi,前台使用$.ajax的时候 假如我要传递的数据为 ...

  8. TPE-ThreadPoolExecutor

    TPE: java.util.concurrent.ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximum ...

  9. TODO_LIST

    H5 blog: http://html5doctor.com/designing-a-blog-with-html5/ 绝尘单词本----H5+Web NIO+netty+RPC

  10. 使用flexbox的自适应照片布局

    作者:Tim Vam Damme 让我们来看看一种超轻量级的方法,它可以为一组任意大小的照片创建水平砖砌效果.将任何照片丢到上面,它们将边对边无缝对齐. 该解决方案不仅轻巧,而且非常简单.我们将使用无 ...