标签:暴力 codeforces
题意:输出给定字符串的字典序最大子串。
思路:统计所有出现过的字符,按字典序从大到小取,取完当前后取下一个,直到结尾。
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m,i,j,k,len;
char a[500010];
int num[50],ch,shu;
int main()
{
while(scanf("%s",a)!=EOF)
{
len=strlen(a);
memset(num,0,sizeof(num));
for(i=0;i<len;i++)
{
num[a[i]-'a']++;
}
for(i=26;i>=0;i--)
{
if(num[i]>0)
{ch=i;break;}
}
for(i=0;i<len;i++)
{
if((a[i]-'a')==ch)
{
num[ch]--;
printf("%c",a[i]);
}
else num[a[i]-'a']--;
if(num[ch]==0)
{
for(j=ch;j>=0;j--)
{
if(num[j]>0)
{ch=j;break;}
}
}
}printf("\n");
}
return 0;
}Codeforces 124c Lexicographically Maximum Subsequence
标签:暴力 codeforces
原文地址:http://blog.csdn.net/dominating413421391/article/details/43494675