CF980C Posterized
2024-10-21 06:48:47
先来吐槽一下这个 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;
}
最新文章
- 【bzoj2243】[SDOI2011]染色
- [转载]对于GetBuffer() 与 ReleaseBuffer() 的一些分析
- DJANGO的API跨域实现
- android内嵌入webview导致闪退
- Flex中神奇的快速辅助 Ctrl+1
- 使用xorm工具,根据数据库自动生成 go 代码
- 剑指架构师系列-Redis集群部署
- Troubleshooting &#39;library cache: mutex X&#39; Waits. (Doc ID 1357946.1)
- 关于 legend_noa
- 利用clonezilla克隆、还原CentOS整个系统
- java.lang.OutOfMemoryError: PermGen space (jvm内存泄漏解决办法)
- SpringMVC框架六:拦截器
- SQL创建索引和删除索引
- 复习C语言:第一章
- centos6.5 64安装ffmpeg过程支持转码mp3
- 利用tensorflow训练简单的生成对抗网络GAN
- SPSS学习系列之SPSS Modeler怎么修改默认的内存大小(图文详解)
- 【html】标签的分类
- EL与OGNL以及值栈的理解
- 中国气象局某分院官网漏洞打包(弱口令+SQL注入+padding oracle)