字典序最小問題 思路

2021-07-14 16:13:08 字數 535 閱讀 9953

給定長度為n的字串s,要構造乙個長度為n的字串t。期初,t是乙個空串,隨後反覆進行下列任意操作:

1>從s的頭部刪除乙個字元,加到t的尾部;

2>從s的尾部刪除乙個字元,加到t的尾部。

目標是要構造字典序盡可能小的字串t。

比如當n=6,s=」acdbcb」時,程式應輸出abcbcd。

思路:

將s反轉後的字串定為s』,比較s和s』的字典序,如果s較小則從s開頭取字元加到t的末尾,反之從s末尾取字元加到t的末尾。字典序相同時兩者等價,取哪個都行。

字典排序(lexicographical order)是一種對於隨機變數形成序列的排序方法。其方法是,按照字母順序,或者數字小大順序,由小到大的形成序列。

比如說有乙個隨機變數x包含三個數值。

其字典排序就是{}

找本英漢字典,和那個排序方法一樣。

對於字串,先按首字元排序,如果首字元相同,再按第二個字元排序,以此類推。

如aa,ab,ba,bb,bc就是乙個字典序。

字典序最小問題

給定長度為n的字串s,要構造乙個長度為n的字串t。起初,t 是乙個空串,隨後反覆進行下列 任意 操作。1 從 s 的頭部 刪除乙個 字元,加到 t的 尾部 2 從 s 的尾部 刪除乙個 字元,加到 t 的 尾部 你的 目標是 要構造字典序盡可能小的字串 t。s 只包含大寫英文本母 輸入10 asdf...

貪心 字典序最小問題

貪心 字典序最小問題 題目大意 給你乙個長為n的字串s,並提供下列2種操作 讓你構造出字典序最小的字串t 思路 因為每次我們能直接考慮的只有s的首尾字母,所以每次新增到t中的不是第乙個就是最後那乙個,沒有別的方法,並且都是新增到t的末尾 根據字典序的定義,越靠前的字母越小,則字典序越小,所以我們每次...

字典序最小問題(貪心)

題目大意 輸入n,代表有乙個長度為n的字串。起初,t是乙個空串,隨後反覆進行下列任意操作 從s 的頭部刪除乙個字元,加入到t的尾部 從s的尾部刪除乙個字元,加入到t的尾部 目的是構造字典序盡可能小的字串t 限制條件 1 n 2000,每個字串只包含大寫字母 思路 這題主要要知道當前後一樣時該選哪個,...