CSL的字串(棧)

2021-09-14 06:06:51 字數 1141 閱讀 1935

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

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

64bit io format: %lld

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

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

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

|s|≤105|s|≤105

在一行輸出字典序最小的新字串。
bab
ab
baca
bac
ascii字符集包含 94 個可列印字元(0x21 - 0x7e),不包含空格。
#include #include #include #include #include #include #include #include #include #include #include #include #include #define eps 0.0000000001

#define mem(a) memset(a,0,sizeof(a))

#define maxx 1e10

#define inf 0x3f3f3f3f

#define pi acos(-1)

using namespace std;

typedef long long ll;

//priority_queue,greater> q;

//使用棧進行模擬,

//如果當前字元已經在棧中,

//則跳過(保證了每個字元只存一次),

//否則進行如下操作:

//如果當前字元比棧頂元素小並且棧頂元素在之後的序列中仍有剩餘,

//就彈出棧頂元素,持續這個過程直到棧頂元素比當前元素小或者棧頂元素沒有剩餘,

//然後把當前字元放入棧中(保證了所有字元都會存入棧中)

string a;

stackst;

int num[200]=;

mapmp;

void cc()

for(int i=0;ist.push(a[i]);}}

cc();cout

}

CSL 的字串 棧,模擬

csl 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 輸入描述 僅一行,有乙個只含有可列印字元的字串 s。s 105 s 1e5 輸出描述 在一行輸出字典序最小的新字串。示例1 輸入bab 輸出...

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 以前不會字串演算法,經過一年的訓練,他還是不會 於是他打算向你求助。給定乙個字串,只含有可列印字元,通過刪除若干字元得到新字串,新字串必須滿足兩個條件 僅...