2019 計蒜之道 複賽 D 「星雲系統」

2021-09-24 12:45:17 字數 803 閱讀 4297

現在給定你乙個字串s以及乙個整數k,請求出s的字典序最小的長度為k的子串行。

題目鏈結

第一行乙個由小寫英文本母構成的字串s,第二行乙個正整數k。

一行乙個字串ans,表示答案。

0helloworld

5ellld

設串長為n,則只需刪掉n-k個字元。

用乙個單調棧維護,依次將字串的每個字元插入,如果當前刪掉的字元不足n-k個並且棧頂元素》插入的元素,那麼刪掉棧頂,直至刪掉的字元達到n-k或者滿足單調棧的性質。

最後取棧裡前k個字元輸出即可。

直接用字元陣列模擬單調棧即可,此題的資料範圍用stl會爆的!!!

#include #include #include #include #include #include #include #include #include #include #include using namespace std;

int main()

{ string s;

char str[5000005];//用於模擬單調棧

int n,i;

cin >> s;

scanf(「%d」, &n);

int len = s.length();

int flag = len - n;//統計還可以刪掉多少個字元

int point = 0;//用於指向當前的棧頂位置

str[0] = s[0];

for (i=1;ip.s. 請忽略那麼多的include,僅僅是因為懶得選,所以無論做什麼題目都是這乙個模版直接全加上?

2019 計蒜之道 複賽 D 「星雲系統」

全世界的中心傳輸節點和各地的網路節點組成的這個 星雲系統 何其複雜。我們現在只考慮一條支線上的網路節點,每乙個網路節點比作乙個字元的話,這條支線就是乙個字串。現在給定你乙個字串 ss 以及乙個整數 kk,請求出 ss 的字典序最小的長度為 kk 的子串行。第一行乙個由小寫英文本母構成的字串 ss,第...

計蒜客 2019計蒜之道D

題意 現在給定你乙個字串 s ss 以及乙個整數 k kk,請求出 s ss的字典序最小的長度為 k kk的子串行。資料範圍 0 s 5000000 00 s 5000 000 樣例輸入 helloworld 5樣例輸出 ellld思路 假如我們先不考慮長度為k的限制我們應當怎麼做?我們以樣例為例子...

計蒜之道複賽 B D F

b題是乙個簡單的模擬 求一下兩個點中間每過deta的整數點 然後更新一下每個點的最後一次經過就好了 1 include2 define cl a,b memset a,b,sizeof a 3 define debug x cerr x x 4 using namespace std 56 cons...