csl 以前不會字串演算法,經過一年的訓練,他還是不會……於是他打算向你求助。
給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件:
輸入描述:
僅一行,有乙個只含有可列印字元的字串 s。|s
|≤105
'>|s|≤1e5
輸出描述:
在一行輸出字典序最小的新字串。示例1
輸入
bab輸出
ab示例2輸入
baca輸出
bac備註:
ascii字符集包含 94 個可列印字元(0x21 - 0x7e),不包含空格。題解:使用棧進行模擬,如果當前字元已經在棧中,則跳過(保證了每個字元只存一次),否則進行如下操作:如果當前字元比棧頂元素小並且棧頂元素在之後的序列中仍有剩餘,就彈出棧頂元素,持續這個過程直到棧頂元素比當前元素小或者棧頂元素沒有剩餘,然後把當前字元放入棧中(保證了所有字元都會存入棧中)
1 #include2 #include3 #include4 #include5 #include6 #include7 #include8view codeusing
namespace
std;
9 typedef long
long
ll;10
const ll mod= 998244353;11
char cc[100005],ch[100005
];12
intin[10005
];13
bool vis[10005
];14
intmain()
20int tot=0;21
for(int i=0;i)
29 cc[++tot]=ch[i];30}
31}32for(int i=1;i<=tot;i++)
35 printf("\n"
);36
return0;
37 }
CSL的字串(棧)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...
CSL 的字串(思維 STL操作)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...
CSL 的字串(思維 STL操作)
時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...