题意:给一个字母序列,求出所有子序列中字典序最大的序列,如ababba输出bbba
思路:维护一个单调递减队列即可
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5+5;
string s;
int main()
{
while (cin >> s) {
char res[maxn];
int front = 0, rear = -1;
for (int i = 0; i < s.length(); i++) {
while (front <= rear && res[rear] < s[i])
rear--;
res[++rear] = s[i];
}
res[rear+1] = '\0';
printf("%s\n", res);
s = "";
}
}