1-02E. JM的西伯利亚特快专递

题解

题面说得很明白了,很明显的一道贪心。

我们知道要让字典序最小,我们必须让越前面的数越小。所以,贪心思想如下:

我们每次假定当前s串中最小的值,若t串尾部的值比这更小,那么就要t串尾的值,否则一直取到最后一个。

其正确性很容易证明。

源码

#include<cstdio>
#include<cmath>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<queue>
#include<map>
#define MAXN 100005
using namespace std;
typedef long long LL;
char str[MAXN];
int a[MAXN],n,sum[30],b[MAXN],tot;
int ans[MAXN],cnt;
#define gc() getchar()
template<typename _T>
inline void read(_T &x){_T f=1;x=0;char s=gc();while(s>'9'||s<'0'){if(s=='-')f=-1;s=gc();}while(s>='0'&&s<='9'){x=(x<<3)+(x<<1)+(s^48);s=gc();}x*=f;
}
signed main() {scanf("%s",str);n=(int)strlen(str);for(int i=0;i<n;i++)a[i+1]=str[i]-'a'+1;for(int i=1;i<=n;i++)sum[a[i]]++;int ind=1;for(int i=1;i<=n;i++){while(!sum[ind])ind++;while(tot&&b[tot]<=ind)ans[++cnt]=b[tot--];if(a[i]==ind)ans[++cnt]=ind,sum[ind]--;else b[++tot]=a[i],sum[a[i]]--;}ind=27;while(tot&&b[tot]<=ind)ans[++cnt]=b[tot--];for(int i=1;i<=cnt;i++)printf("%c",ans[i]+'a'-1);return 0;
}

谢谢!!!

1-02E. JM的西伯利亚特快专递相关推荐

  1. 周末狂欢赛4(1-02E. JM的西伯利亚特快专递,寿司晚宴,荷马史诗)

    文章目录 T1:1-02E. JM的西伯利亚特快专递 题目 题解 code T2:寿司晚宴 题目 题解 code T3:荷马史诗 题目 题解 code T1:1-02E. JM的西伯利亚特快专递 题目 ...

  2. 四. 常见H.264视频编解码器(X264和JM)及参考软件JM的下载与编解码

    常见H.264视频编解码器(X264和JM)及参考软件JM的下载与编解码 我们已经知道,H.264是一种视频压缩标准,其只规定了符合标准的码流的格式,以及码流中各个语法元素的解析方法.H.264标准并 ...

  3. 西伯利亚(Siberia)冷空气

    http://zhidao.baidu.com/question/27537013.html 俄罗斯境内北亚地区的一片广阔带.西起乌拉尔山脉,东迄太平洋,北临北冰洋,西南抵哈萨克斯坦中北部山地,南与中 ...

  4. [选拔赛1]花园(矩阵快速幂),JM的月亮神树(最短路),保护出题人(斜率优化)

    多年不考试,一夜回到解放前 T1:花园 title solution code T2:月亮神树 title solution code T3:保护出题人 title solution code T1: ...

  5. JM与h264标准中的关键字说明

    有些乱,先存着,留着看 如何结合H.264标准看JM代码>这个web文件,大家都应该有了吧.不过,那个web文档是"H.264乐园"群中聊天的内容 1.一个sps后,有若干个 ...

  6. 开启 JM 的 trace 功能

    [JM代码] 开启 JM 的 trace 功能 本帖最后由 firstime 于 2009-6-15 11:16 AM 编辑 城里汉子说过: trace文件对分析码流结构很有效.我说的是trace文件 ...

  7. [笔记]TB-6S-LX150T-IMG2_HWUserManual_1.02e实例讲解

    参考来源:TB-6S-LX150T-IMG2_HWUserManual_1.02e.pdf 1.文档描述(类似摘要) 本文档介绍了LVDS数据传输参考设计,使用的载体有TB--6S-LX150T IM ...

  8. H.264官方软件JM源代码简单分析-解码器ldecod

    ===================================================== H.264/H.265 官方源代码分析文章: H.264官方软件JM源代码简单分析-编码器l ...

  9. JVM教程:JM内存分哪几个区,每个区的作用是什么?

    很多人没有合适的资料来回顾整个JVM知识体系,或者有的初学者可能不知道该从哪里开始复习.整理一些常见的JVM面试题,希望对大家有帮助. JVM常见面试题 问:JM内存分哪几个区,每个区的作用是什么? ...

最新文章

  1. 亿级PV,常见性能优化策略总结与真实案例
  2. 5G URLLC 是 ToB 的关键
  3. C#中char[]与string之间的转换
  4. Storm入门(一)原理介绍
  5. Mac的文件比对工具:Meld、Beyond Compare
  6. qpython怎么用matplotlib_python-通过文本框的交互式matplotlib图
  7. 深入理解 Docker 网络原理
  8. LeetCode 404. Sum of Left Leaves
  9. git-注册与激活-创建一个测试用途的仓库-github
  10. 如何避免腾讯云彻底搞丢“天价数据”事件再次发生?
  11. linux自动更新漏洞,Linux爆本地提权漏洞 请立即更新udev程序
  12. 不受支持的SQL类型1111
  13. PAIP HTML的调试与分析工具
  14. 《C语言小游戏之贪吃蛇程序代码》
  15. C++ atuo关键字的应用 -- 尾置返回类型(trailing return type)
  16. 坐标转换--基准面转换(布尔莎七参数)
  17. 最详细最直观的>>>理解Pandas分组聚合和透视图标
  18. “因遭勒索软件攻击,我被认定工作失职开除,并被老东家索赔 21.5 万元”
  19. Liunx树莓派(ARM)开发篇—第十四章、树莓派Linux内核编译步骤(超详细、图文结合)
  20. IOS图像2之jpg、png图片保存、互转、设置有损压缩因子

热门文章

  1. 高斯软件计算测试价格,曙光TC4600百万亿次超级计算系统新系统测试-高斯Gaussian16.PDF...
  2. FEATURE_MCT_READERDIRECT问题
  3. native-echarts填坑记录
  4. 计算机视觉与深度学习第三章:线性分类器
  5. 选择某种颜色字母的验证码破解方法
  6. 【茗创科技】静息态fMRI功能连接分析方法学
  7. 连接的外部图形设备可能无法与计算机工作,连接外围设备,可以为计算机提供额外功能,Win10如何使用和管理...
  8. C# Math类详细说明
  9. samsung magician下载中文网址
  10. mysql blgg_GG基于用户复制问题