Codeforces Global Round 14 C. Phoenix and Towers(思维)

news/2024/7/9 6:34:43

https://codeforces.com/contest/1515/problem/C

题目大意:

给定一个长度为n的序列a,ai表示方块的高度。每一个方块的高度都在1和q之间。

让我们用这n个方块搭建m座塔,两两之间高度差不能超过q。
input 
2
5 2 3
1 2 3 1 2
4 3 3
1 1 2 3
output 
YES
1 1 1 2 2
YES
1 2 2 3
  • 因为每一个方块的高度范围都在[1,q]之内,每次我得到一个方块的时候把它加入到最低高度的塔中,它的高度对于全体塔高来说,无异于两种情况:
  • 不高于最高的塔,不会超过q的高度差;
  • 高过最高的塔,它变成最高的塔,和此时的最低的塔也不会超过范围。
  • 因此是一定只有YES的情况。
    eg样例一
    1 2 3 1 2
    0 0 1
    0 1 2
    1 2 3
    2 2 3
    2 3 4
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
typedef pair<LL,LL> PII;
const LL MAXN=1e18;
const LL N=500200,M=2002;
LL a[N];
int main()
{
    cin.tie(0); cout.tie(0); ios::sync_with_stdio(false);
    int T=1;
    cin>>T;
    while(T--)
    {
        LL n,m,q;
        cin>>n>>m>>q;
        cout<<"YES"<<endl;
        set<PII> st;
        for(int i=1;i<=m;i++)//m个独立的塔,每座塔的初始化高度为0
        {
            st.insert({0,i});
        }
        for(int i=1;i<=n;i++)
        {
            cin>>a[i];
            PII top=*st.begin();
            st.erase(top);
            cout<<top.second<<" ";//每次插入到最小位置上
            st.insert({top.first+a[i],top.second});
        }
        cout<<endl;
    }
    return 0;
}

http://lihuaxi.xjx100.cn/news/497303.html

相关文章

SpringBoot集成POI

1、环境搭建 <dependencies> <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>4.0.1</version> </dependency> <dependency> <groupId…

基于SpringBoot的社区小型图书管理系统的设计与实现

作者主页&#xff1a;Designer 小郑 作者简介&#xff1a;Java全栈软件工程师一枚&#xff0c;来自浙江宁波&#xff0c;负责开发管理公司OA项目&#xff0c;专注软件前后端开发&#xff08;Vue、SpringBoot和微信小程序&#xff09;、系统定制、远程技术指导。CSDN学院、蓝桥云…

Learning to Segment Every Thing

摘要 现有的目标实例分割方法要求所有训练样本都具有分割mask标注。然而&#xff0c;标注新的类别是非常费劲的&#xff0c;因此这将实例分割模型的应用范围限制在100个左右的有标注的类。本文的目的是提出一种新的部分监督的训练模型&#xff0c;以及一种新的权重传递函数&am…

【1759. 统计同构子字符串的数目】

来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 描述&#xff1a; 给你一个字符串 s &#xff0c;返回 s 中 同构子字符串 的数目。由于答案可能很大&#xff0c;只需返回对 109 7 取余 后的结果。 同构字符串 的定义为&#xff1a;如果一个字符串中的所有字符都相…

UE5 Meerkat狐獴演示Demo分析

1.特效的生成方式 1.1临时特效的生成&#xff1a;使用了已生成轨道临时创建该特效&#xff08;不用在场景中放入该特效&#xff0c;而是临时创建即可&#xff09;、系统生命周期轨道设置该特效的播放时长 1.2长期特效的生成&#xff1a;特效时长为该镜头片段长度 2.特效的类…

client-go源码学习(一):client-go源码结构、Client客户端对象

本文基于Kubernetes v1.22.4版本进行源码学习&#xff0c;对应的client-go版本为v0.22.4 1、client-go源码结构 client-go的代码库已经集成到Kubernetes源码中了&#xff0c;源码结构示例如下&#xff1a; $ tree vendor/k8s.io/client-go -L 1 vendor/k8s.io/client-go ├─…

一个umi4的项目适配到FireFox60.7.1esr版本上的从头到尾

项目场景&#xff1a; 一个使用umi4创建的大屏项目&#xff0c;用户的浏览器使用的是火狐60.7.1的稳定版。然后就报错了&#xff01;&#xff01;&#xff01; 为什么不让用户换谷歌嘞&#xff0c;咱也不知道。那咱就搞兼容吧~~ 贴个浏览器的版本图片&#xff1a; 问题历程 …

jQuery index()

jQuery index() 概述 在jQuery中&#xff0c;我们可以使用index()方法来获取当前jQuery对象集合中“指定元素”的索引值。 语法 $(元素).index()说明 index()方法可以接受一个“jQuery对象”或“DOM对象”作为参数&#xff0c;不过一般情况下&#xff0c;我们很少会使用到…