2019 计蒜之道 复赛 D “星云系统”

2023-05-16

2019 计蒜之道 复赛 D “星云系统”

题目

现在给定你一个字符串s以及一个整数k,请求出s的字典序最小的长度为k的子序列。
题目链接https://nanti.jisuanke.com/t/39614

输入格式

第一行一个由小写英文字母构成的字符串s,第二行一个正整数k。

输出格式

一行一个字符串ans,表示答案。

数据规模

0<k<=|s|<=5000000

样例输入

helloworld
5

样例输出

ellld

题解

设串长为n,则只需删掉n-k个字符。
用一个单调栈维护,依次将字符串的每个字符插入,如果当前删掉的字符不足n-k个并且栈顶元素>插入的元素,那么删掉栈顶,直至删掉的字符达到n-k或者满足单调栈的性质。
最后取栈里前k个字符输出即可。
直接用字符数组模拟单调栈即可,此题的数据范围用STL会爆的!!!

代码

#include <iostream>
#include <stdlib.h>
#include <string>
#include <math.h>
#include <algorithm>
#include <cstring>
#include <cstdio>
#include <stack>
#include <queue>
#include <deque>
#include <vector>

using namespace std;

int main()
{
    string s;
    Char str[5000005];//用于模拟单调栈
    int n,i;
    cin >> s;
    scanf(“%d”, &n);
    int len = s.length();
    Int flag = len - n;//统计还可以删掉多少个字符
    Int point = 0;//用于指向当前的栈顶位置
    str[0] = s[0];
    for (I=1;i<len;i++)
    {
        if (flag!=0)
        {
            While ((s[i]<str[point]&&(flag!=0)))//如果当前栈中有字符,且栈顶字符大于要插入的字符,则删掉栈顶字符
            {
                flag—;
                point—;
                if (point == -1)
                break;
            }
            point++;//找到栈中比当前要插入的字符大的字符的位置后插入字符
            str[point] = s[I];
        }
        else
        {
            point++;//如果没有可以删掉的字符了,则剩下所有的字符都依次插入
            str[point] = s[I];
        }
    } 
    for (I=0;i<n;i++)
    printf("%c", str[i]);
}

P.S. 请忽略那么多的include,仅仅是因为懒得选,所以无论做什么题目都是这一个模版直接全加上?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2019 计蒜之道 复赛 D “星云系统” 的相关文章

  • Visual Studio 2019 Serial Keys

    Visual Studio span class hljs number 2019 span Enterprise BF8Y8 GN2QH T84XB QVY3B RC4DF Visual Studio span class hljs nu
  • 扮家家安装显示与服务器连接超时,【2019最新版】扮家家云渲染客户端常见问题...

    常见问题 1 两个账号上的余额能互转吗 xff1f 每个账号的消费和充值都是独立的 xff0c 不能够互转 2 赠送金额的钱怎么才能使用 xff1f 账户余额上的金额用完会自动扣取赠送金额的 3 同一个云渲染账号能同时在多台电脑登录吗 xf
  • 2019-12-14-FTP服务器搭建

    title FTP服务器搭建 date 2019 12 14 15 34 19 updated 2019 12 14 15 34 19 categories 服务器 搭建 网络 tags FTP服务器 目录 什么是FTP服务器本地FTP服务
  • 流年似水 启航2019

    凌晨1点无意间看到一个演讲视频 感谢你给我机会上场 xff0c 很久之前的一个演讲视频 xff0c 看完除了羡慕还是羡慕吧 xff0c 也许就是一句话吧 xff0c 开挂的人生不需要解释 30多年的生活他做了很多事 xff0c 也做成了很多
  • 【Paper】2019_DoS/数据注入攻击下基于一致性的信息物理系统安全性研究_曹雄

    曹雄 DoS 数据注入攻击下基于一致性的信息物理系统安全性研究 D 天津大学 2019 DOI 10 27356 d cnki gtjdu 2019 003044 文章目录 第2章 拒绝服务攻击下多智能体系统安全性研究2 1 问题描述2 1
  • 2019年SDN软件定义网络部分

    SDN 题目 二 配置IP添加网卡以及karaf程序启动 三 创建拓扑 四 打开网页查看拓扑 五 通过OVS手动添加网卡 设置网关 1 添加网卡 2 设置网关地址 开启路由转发 3 给H1 H2 H3 H4设置网关 六 OVS手工下发流表
  • VS2017/2019中默认编码问题,修改文本编码格式 为UTF-8

    1 修改VS中单个文本编码方式 VS2017 2019中默认格式为 GB2312 很多时候可能出现乱码情况 xff0c 就是编码问题 xff0c 接下来 xff0c 可以修改编码方式 xff1a 操作方法如下所示 xff1a 首先 xff0
  • 使用Visual Studio 2019时遇到的两个问题

    由于近期要做计算机网络第一次上机作业 xff0c 我暂时抛弃了已经用习惯的Devcpp xff0c 下载并安装了VS2019 xff0c 在编译样例代码 用VS2017平台编写 时成功地解决了遇到的两个问题 MSB803 xff1a 找不到
  • SQL Server(2019)导入excel数据

    要导入的excel文件如图所示 xff0c 600个记录 操作步骤 xff1a 1 在要导入的数据库上右键 xff0c 任务 xff0c 导入数据 2 选择数据源为excel xff0c 选择相应excel文件 xff0c 选择excel版
  • SQL Server(2019)导出excel数据

    目标 xff1a 将Grademanager数据库中的test表导出为excel test表内容 xff1a 如图 xff0c 600条记录 操作步骤 xff1a 1 在相应数据库上右键 xff0c 任务 xff0c 导出数据 2 选择数据
  • 2019论文阅读:SIMCO: SIMILARITY-BASED OBJECT COUNTING

    发表于CVPR2019 文章目录 文章贡献1 绪论2 SIMCO的两个阶段2 1 SIMCO detectionInShape数据集网络结构 xff1a 2 2 SIMCO clustering 3 实验及结果4 总结 文章贡献 提出了SI
  • Visual Studio 2019的下载及安装

    一 下载 1 下载网址 xff1a https visualstudio microsoft com zh hans vs 2 选择 下载 Visiual Studio 下拉栏里的 Commuunity 2019 选项 xff08 社区版本
  • 2019电赛--无人机题目OpenMV总结

    此文章在我的博客链接 xff1a https sublimerui top archives d508d500 html NOTES xff1a 上一篇相关博文 xff0c 准备阶段OpenMV学习笔记链接 xff1a https blog
  • 2019小结

    2019已经过去 xff0c 回想这过去的一年 xff0c 是近几年来最忙碌的一年 年初 xff0c 参加了一场读书会 xff0c 和公司同事一起读书 一本优秀的书是作者思想的精华 xff0c 通过读书可以认识和了解自己思维以外的世界 虽然
  • 旷视张祥雨:高效轻量级深度模型的研究和实践 | AI ProCon 2019

    演讲嘉宾 张祥雨 xff08 旷视研究院主任研究员 基础模型组负责人 xff09 编辑 Just 出品 AI科技大本营 xff08 ID rgznai100 xff09 基础模型是现代视觉识别系统中一个至关重要的关注点 基础模型的优劣主要从
  • F450机架 Pixhawk飞控实现自动避障(2019.11.29)

    之前进行无人机项目 xff0c 实现避障 巡航 定点 航拍等功能 xff0c 项目结束 xff0c 在这里进行分享经验 xff0c 项目所用器件为自己使用的 xff0c 仅供参考 xff0c 实际实现须结合自己实际情况 1 传感器选择 权盛
  • 2019新买电脑必备软件

    都2019了 xff0c 怎么还要安装这些垃圾软件 xff01 群丫头买了个新电脑 xff0c 为了避免她踩到笔者曾今踩到的坑 xff0c 更舒心的使用电脑 xff0c 为此特写此文 作为一个电脑平凡使用者 xff0c 用过无数的软件 xf
  • 2019.11.19日调试代码笔记

    在配置基于VINS做的稠密地图重建是时的调试笔记 xff0c 留做记录 xff0c 后续可能还会遇见同样的问题 xff01 1 安装GPU版本的OpenCV248 home bruce software opencv 2 4 8 modul
  • CoppeliaSim ( vrep ) 与 c++ ( visual studio 2019)新建基本工程

    CoppeliaSim vrep 与 c 43 43 xff08 visual studio 2019 xff09 新建基本工程 文章目录 CoppeliaSim vrep 与 c 43 43 xff08 visual studio 201
  • PetaLinux 2019.1详细安装步骤以及所需要文件

    这里主要根据UG1144文档 xff0c 这两天成功安装使用了PetaLinux的最新版本2019 1 一 xff0c 在虚拟机里安装Ubuntu16 04 1 xff0c 选Ubuntu 操作系统的版本是16 04 我最初尝试过18版本的

随机推荐