字元加密Cipher(bzoj 1031)

2022-05-14 06:58:26 字數 926 閱讀 2092

喜歡鑽研問題的js同學,最近又迷上了對加密方法的思考。一天,他突然想出了一種他認為是終極的加密辦法

:把需要加密的資訊排成一圈,顯然,它們有很多種不同的讀法。例如下圖,可以讀作:

jsoi07 soi07j oi07js i07jso 07jsoi 7jsoi0把它們按照字串的大小排序:07jsoi 7jsoi0 i07jso jsoi07

oi07js soi07j讀出最後一列字元:i0o7sj,就是加密後的字串(其實這個加密手段實在很容易破解,鑑於這是

突然想出來的,那就^^)。但是,如果想加密的字串實在太長,你能寫乙個程式完成這個任務嗎?

輸入檔案包含一行,欲加密的字串。注意字串的內容不一定是字母、數字,也可以是符號等。

輸出一行,為加密後的字串。

jsoi07

i0o7sj

對於100%的資料字串的長度不超過100000。

/*

把字串複製一遍,就是字尾陣列裸題了,還在矇圈中……抽空再看

另乙個:

*/#include

#include

#include

#define n 200010

using

namespace

std;

char

ch[n];

inta[n],n,k;

int v[n],sa[2][n],rank[2

][n];

void

init()

n<<=1;}

void calsa(int sa[n],int rank[n],int sa[n],int

rank[n])

void

work()

for(int i=1;i<=n;i++)

}int

main()

字元加密Cipher(bzoj 1031)

喜歡鑽研問題的js同學,最近又迷上了對加密方法的思考。一天,他突然想出了一種他認為是終極的加密辦法 把需要加密的資訊排成一圈,顯然,它們有很多種不同的讀法。例如下圖,可以讀作 jsoi07 soi07j oi07js i07jso 07jsoi 7jsoi0把它們按照字串的大小排序 07jsoi 7...

1064 加密字元

1064 加密字元 時間限制 1 sec 記憶體限制 128 mb 提交 25970 解決 12284 狀態 討論版 提交 命題人 admin 題目描述 從鍵盤輸入一批字元,以 結束,按要求加密並輸出。輸入從鍵盤輸入一批字元,佔一行,以 結束。輸出輸出佔一行 加密規則 1 所有字母均轉換為小寫。2 ...

180215 加密 專用加密軟體(1)

1625 5 王子昂 總結 2018年2月15日 連續第503天總結 a.專用加密軟體 1 b.殼是一種附加在原程式上通過windows載入器載入記憶體後,先於原始程式執行,得到控制權,執行過程中對原始程式進行解密 還原,完成後再把控制權交還給原程式的程式 不同的外殼所側重的方面也不一樣,有的側重於...