1506G. Maximize the Remaining String
G. Maximize the Remaining String
贪心,放置时,如果前面一个小比他小,并且后面还有,那么就把前面的删除
#include <bits/stdc++.h>
using namespace std;
const int N = 3e5 + 3;
#define int long long
string str;
char ans[N];
map<char,int>mp,vis;
signed main()
{int t;cin>>t;while (t--){int cnt = 0;cin>>str;int n = str.length();str = "1"+str;vis.clear(),mp.clear();memset(ans,0,sizeof ans);for (int i=1;i<=n;i++){mp[str[i]]=i;//记录最后一个在哪出现}for (int i=1;i<=n;i++){if (vis[str[i]]) continue;//如果前面出现了while (ans[cnt]<str[i]&&mp[ans[cnt]]>i)//如果他比这个字符小并且后面还有vis[ans[cnt--]] = 0;ans[++cnt] = str[i];vis[str[i]] = 1;}for (int i=1;i<=cnt;i++)cout<<ans[i];cout<<endl;}
}
1506G. Maximize the Remaining String相关推荐
- CodeForces - 1506G Maximize the Remaining String(单调栈+贪心)
题目链接:点击查看 题目大意:给出一个长度为 nnn 的字符串,假设共出现了 kkk 种字母,现在要求出一个长度为 kkk 的子序列,满足每种字母只出现一次,且字典序最大 题目分析:和之前牛客上的一道 ...
- Codeforeces #710 div3题解报告
A. Strange Table 题意:给你一个矩阵(n*m)的.这个矩阵从上到下由1,2,3````n * m填满. 再给你一个数x.问你在另一个矩阵(也是n * m,不过是从水平填起),这个x的位 ...
- 1050 String Subtraction
1050 String Subtraction (20 分) Given two strings S1 and S2, S=S1−S2 is defined to be the ...
- PAT甲级 -- 1050 String Subtraction (20 分)
Given two strings S1 and S2, S=S1−S2 is defined to be the remaining string after taking ...
- 1050 String Subtraction (20 分)_10行代码AC
立志用最少的代码做最高效的表达 PAT甲级最优题解-->传送门 Given two strings S1 and S2, S=S1−S2 is defined to be ...
- C++ PAT甲级 1050 String Subtraction (20分)
Given two strings S1 and S2, S=S1−S2is defined to be the remaining string aftertaking all the cha ...
- PAT甲级1050 String Subtraction
题目 1050 String Subtraction (20 分) Given two strings S1 and S2 , S=S1−S2 is defined to be the remai ...
- 1050 String Subtraction
1050 String Subtraction Given two strings S1 and S2, S=S1−S2 is defined to be the remaining string a ...
- java获取hdfs总大小_如何获取出HDFS已用空间/总空间的值。java FileSystem中有相关的方法吗???...
展开全部 public List getHdfsstatus() { if (conf == null) { conf = new Configuration(); conf.set("fs ...
最新文章
- 上网行为管理产品选型简单考量
- 一次I/O问题引发的P0重大故障[改版重推]
- svd奇异值分解_矩阵相乘和奇异值分解(SVD)
- linux 远程执行shell 获取返回值
- Python语法中的模糊语义,你知道吗?
- thinkphp 微信服务器验证代码_基于ThinkPHP5微信后台管理平台
- 下载腾讯视频里的视频_手机腾讯视频如何升级新版本
- linux 7 nano,Linux初學(CnetOS Linux7)之文本編輯器nano以及關機
- JMeter性能测试中如何使用“用户参数”实现参数化
- 利用 Excel 在 Altium Designer 中快速新建元器件库
- 从0开始学习 GitHub 系列之「06.团队合作利器 Branch」
- 老调重弹:对kvo的封装思路
- 倒车雷达c语言编程,汽车倒车雷达系统的设计与实现(论文c1)
- ubuntu下好用的TCP/UDP调试工具
- 下载精确卫星星历文件 2015.3.31
- ## STAMP使用中数据上传注意事项
- s3c6410地址映射
- 石油化工行业智能供应链管理系统解决方案:数智化供应链平台推动企业转型智能化发展
- SpringBoot无法引入@RunWith注解解决方法
- 为什么我不看好人人网在美国上市
热门文章
- Vista SP1、IIS7,安装ASP.Net 1.1、VS2003、NetAdvantage 2004vol、Sql Server2000全攻略
- hexo 环境变量_小白使用 Github + Hexo 从 0 搭建一个博客
- 基于Docker的Redis集群简单搭建
- ConcurrentHashMap底层原理?
- jsr-303 参数校验-学习(转)
- cesium 设置地球默认区域为中国 一键返回默认区域
- android默认代码混淆,Android SDK默认混淆配置文件
- php openssl做什么,php开启openssl的方法
- 一、Insertion sort
- (JAVA)hashcode