首页 > 其他分享 >Codeforces edu 156 C题

Codeforces edu 156 C题

时间:2024-03-04 19:44:05浏览次数:40  
标签:tmp cnt 156 Codeforces back edu 字符串

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

思路

这道题的核心问题是:
给你一个字符串s,你要删除k个字母,你要找出删除k个字母后字典序最小的s。
为了使字典序最小,我们就应该把字符串删成递增的样子

string tmp = "";//tmp用来存删完后的字符串
    s += '$';//s的末尾加一个比'a'还小的字符,防止出现在字符串递增时不删的情况
    for (auto c : s) {
        while (cnt && tmp.size() && c < tmp.back()) {
            cnt --;//cnt表示要删除的字符个数
            tmp.pop_back();
        }
        if (c != '$') tmp.push_back(c);
    }

标签:tmp,cnt,156,Codeforces,back,edu,字符串
From: https://www.cnblogs.com/kichuan/p/18052500

相关文章

  • Educational Codeforces Round 162 E 点分治 虚树 树形dp
    传送门给出\(n\le2\cdot10^5\)的一棵树,每个节点有一个颜色。求出路径长度为\(2\)路径首端和尾端拥有相同颜色,且路径上其他点不存在相同颜色的点的路径条数。当时看错题了,把颜色抽出来后没法做了。后来感觉能点分治,然后把题看对了,遂写了一个极其抽象的点分治。除此之外,把某......
  • 奥特曼净资产破20亿美元;苹果计划通过线上渠道发布 2024 款 iPad 和 Mac丨 RTE 开发者
      开发者朋友们大家好: 这里是「RTE开发者日报」,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享RTE(RealTimeEngagement)领域内「有话题的新闻」、「有态度的观点」、「有意思的数据」、「有思考的文章」、「有看点的会议」,但内容仅代表编辑......
  • Codeforces Round 930 (Div. 1) C dij 建图
    离较好的方法差一点。考虑到了可以按照枚举属性并按照当前属性从小到大排序,这样可以从一个点到大另一个点。设当前在排序序列中点为\(i\)当\(i\)走向\(k,i>=k\)需要支付\(c_k\)的代价。而\(i\)到\(k,i<k\)则需\(k-i+c_k\)的代价。则对于不同的\(i\)由于代价没有连续性,当时想......
  • Codeforces Round 892 (Div. 2)
    \[\large\text{Round7:CodeforcesRound892(Div.2)(VP)}\]一言:所谓人,无论是谁到了最后,都会形单影只。——悠久之翼2最令人无语的是最后三分钟交代码的时候把\(\text{D}\)题交到了\(\text{E}\)题,结果能过的代码直接没有过。。\(\text{D:AndreyandEscapefr......
  • Educational Codeforces Round 120
    \[\large\text{Round1:EducationalCodeforcesRound120(VP)}\]一言:孤独的人不会伤害别人,只会不断地伤害自己罢了。——我的青春恋爱物语果然有问题\(\text{C:SetorDecrease}\)后四题唯一场切题,(别问我为什么只有这一道)。读完题之后,理一下思路,可以很容易的想到......
  • Codeforces Round 893 (Div. 2)
    \[\large\text{Round3:CodeforcesRound893(Div.2)(VP)}\]一言:从你站在桥上看我的那一刻起你就是我的世界——火影忍者不是很满意,还是没有突破\(\text{D}\)题,确实是没有想到这题竟然如此毒瘤。。\(\text{D:TreesandSegments}\)首先不难想到一种思路,就是枚举......
  • Codeforces Round 806 (Div. 4) A-G(补题)
    A.YESorYES?思路:一次判断三个字母是否是y、e、s的大小写即可。这题是很久前写的,哈哈,马蜂改了不少。。#include<bits/stdc++.h>usingnamespacestd;intn;chars[5];intmain(){ scanf("%d",&n); for(inti=1;i<=n;i++){ scanf("%s",s+1); if......
  • LY1156 [ 20230320 CQYC省选模拟赛 T3 ] 集结
    题意平面上\(n\)个点,每个点按照曼哈顿距离移动。要求在\(m\)时刻后,所有点都处于同一位置。求方案数。Sol平凡地,考虑曼哈顿距离转切比雪夫距离。这样\(x\)和\(y\)就完全独立了。考虑先算\(x\)的贡献,再算\(y\)的贡献。判断一下是否能到当前的\(x\)或\(y\)就......
  • P1156 垃圾陷阱
    原题链接题解太妙了如果能出去,那么出去的时间一定为让我出去的那个垃圾掉落的时间,且在此之前我所在的高度能撑到我垃圾掉落如果出不去,我肯定一直呆在井底不动所以我们可以以高度为变量设每个高度能撑到的最久的时间而每个垃圾在拿到的一瞬间要么吃要么搭,所以我们穷举,两个都......
  • Go 100 mistakes - #96: Not knowing how to reduce allocations
         ......