Foj 1409 檔案壓縮

2021-05-22 06:48:18 字數 813 閱讀 8213

提高檔案的壓縮率一直是人們追求的目標。近幾年有人提出了這樣一種演算法,它雖然只是單純地對檔案進行重排,本身並不壓縮檔案,但是對經這種演算法調整後的檔案進行壓縮,在大多數情況下都能獲得比原來更大的壓縮率。

該演算法具體如下:對乙個長度為n的字串s,首先根據它構造n個字串,其中第i個字串由s向左迴圈移位i-1次得到(見示例)。然後把這n個字串按照首字元從小到大排序。如果兩個字串的首字元相同,則它們的相對位置不變。接著把排序後的字串的尾字元依次連成乙個新的字串s'。它的長度仍為n,而且顯然是s中的字元的一種重排。最後輸出s'以及s的首字元在s'中的序號p。例如:

s = example 1、構造n個字串: example xamplee ampleex mpleexa pleexam leexamp eexampl 2、將字串排序: ampleex example eexampl leexamp mpleexa pleexam xamplee 3、輸出: s' = xelpame p = 7

由於英語單詞構造的特殊性,某些字母出現的頻率很高,因此在 中相同的字母有很大機率排在一起,從而提高 的壓縮率。雖然這種演算法利用了英語單詞的特性,然而在實踐中,人們發現它幾乎適用於所有型別的檔案壓縮。

請你編寫乙個程式模擬該演算法的執行過程,輸入字串s,輸出s'和p。

輸入包含兩行。第一行為一整數n,1<=n<=10000,表示s的長度;第二行為字串s,字串全部由小寫字母組成,沒有其它字元。

輸出兩行,第一行為s',第二行為整數p。 7

example

xelpame 7

//要用stable_sort排序, 這樣才能保證首字母相同的它們的相對位置不變

FZU 1409 檔案壓縮

檔案壓縮 time limit 1s memory limit 32m accepted submit 302 total submit 1026 提高檔案的壓縮率一直是人們追求的目標。近幾年有人提出了這樣一種演算法,它雖然只是單純地對檔案進行重排,本身並不壓縮檔案,但是對經這種演算法調整後的檔案進...

5 檔案許可權 檔案壓縮打包

命令 解釋ls lh 顯示許可權 chmod ugo rwx dir1 新增所有者 群組 其他人在dir1的讀 寫 執行許可權 chmod go rex dir1 刪除群組 其他人對dir1讀 寫 執行許可權 chown user1 file1 更改file1的所有者為user1 chown r u...

LG P1124 檔案壓縮

p1124 檔案壓縮 題目背景 提高檔案的壓縮率一直是人們追求的目標。近幾年有人提出了這樣一種演算法,它雖然只是單純地對檔案進行重排,本身並不壓縮檔案,但是經這種演算法調整後的檔案在大多數情況下都能獲得比原來更大的壓縮率。題目描述 該演算法具體如下 對乙個長度為n的字串s,首先根據它構造n個字串,其...