演算法筆記 01 字典序問題

2021-08-08 00:06:54 字數 1029 閱讀 7128

★問題描述:

在資料加密和資料壓縮中常需要對特殊的字串進行編碼。給定的字母表a由26 個小寫英文本母組成a=。該字母表產生的公升序字串是指字串中字母按照從左到右出現的次序與字母在字母表中出現的次序相同,且每個字元最多出現1次。例如,a,b,ab,bc,xyz 等字串都是公升序字串。現在對字母表a 產生的所有長度不超過6 的公升序字串按照字典序排列並編碼如下。 1

2...

2627

28...ab

...z

abac

...

對於任意長度不超過6 的公升序字串,迅速計算出它在上述字典中的編碼。

★資料輸入:

第一行是乙個正整數k,表示接下來共有k行。接下來的k行中,每行給出乙個字串。

★資料輸出:

輸出共有k行,每行對應於乙個字串的編碼。

輸入檔案示例         輸出檔案示例

input.txt                  output.out

3                             1(a的編碼)

a                             2(b的編碼)

b                             28(ac的編碼) ac

★以下為源程式(c++):

#include#includeusing namespace std; 

int f[26][10];

int g[10];

int zidianxu(string t)

for(int j=1;j<10;j++)

for(i=0;i<26;i++) g[j+1]+=f[i][j];

} for(i=0;i>str[i];

for(i=0;i

★輸出:比如在這裡輸入了4,然後需要手動輸入四個字串,然後回車

1 2 字典序問題

問題描述 在資料加密和資料壓縮中常需要對特殊的字串進行編碼。給定的字母表 a 由 26 個小 寫英文本母組成 a 該字母表產生的公升序字串是指字串中字母按照從左到 右出現的次序與字母在字母表 現的次序相同,且每個字元最多出現 1 次。例如,a,b,ab,bc,xyz 等字串都是公升序字串。現在對字母...

01字典樹 OR問題

01字典樹 用途 解決區間異或和之類的問題 異或的性質 1.交換律 2.結合律,即 a b c a b c 3.自反性,即x x 0 4.x 0 x 有上述性質,對於區間異或和要知道此性質xor l,r xor 1,l 1 xor 1,r 注意 int型別1 31會溢位 區間異或和的題目 比如給一組...

01字典樹 小結

為了做13年南京網路賽的一道題 學了這個01字典樹 看了別人的模板 之後切了幾道水題 現在總結一下 01字典樹的實現可以看成是把乙個數的二進位制字元化後插入到一顆一般的字典樹中 比如在01字典樹種插入3時 相當於在字典樹中插入00 00011 一共33為,這個根據具體實現不同 查詢最大異或值的時候我...