CSL 的字串(思維 STL操作)

2021-09-14 05:02:19 字數 1082 閱讀 3068

時間限制:c/c++ 1秒,其他語言2秒

空間限制:c/c++ 524288k,其他語言1048576k

64bit io format: %lld

csl 以前不會字串演算法,經過一年的訓練,他還是不會……於是他打算向你求助。

給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件:

僅一行,有乙個只含有可列印字元的字串 s。

|s|≤105|s|≤105

在一行輸出字典序最小的新字串。
示例1

複製

bab
複製

ab
示例2

複製

baca
複製

bac
ascii字符集包含 94 個可列印字元(0x21 - 0x7e),不包含空格。
思路:我們開乙個記錄數量的容器和標記陣列,然後對string進行操作,注意string的str.end()-1是最後乙個元素,也可以用str.rbegin()代替,如果我們當前的字元容器的最後乙個有大於要插入的,並且後面還有這個字元,那我們就把這個字元給捨棄,

並且把這個字元的標記給更新,然後在原串的基礎上加就好了

**:

#include#include#include#include#include#include#include#include#include#includeconst int maxn=1e5+5;

typedef long long ll;

using namespace std;

vectorvec(255,0);

bool vis[255];

string str;

int main()

string ans="";

for(it=str.begin();it!=str.end();it++)

while(vec[*(ans.end()-1)]&&*it<*(ans.end()-1))

ans+=*it;

vis[*it]=true;

} cout

}

CSL 的字串(思維 STL操作)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...

CSL的字串(棧)

時間限制 c c 1秒,其他語言2秒 空間限制 c c 524288k,其他語言1048576k 64bit io format lld csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...

stl 字串操作

返回多位元組字串長度,即首元素為 str 所指向的字元陣列直到而不包含首個空字元的字元數。std size t strlen const char str 返回寬字串的長度,即空終止寬字元之前的非空寬字元數。std size t wcslen const wchar t str 多位元組 intst...