标签:暴力 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