POJ 1451 T9 字典樹 優先佇列

2021-06-22 21:06:27 字數 961 閱讀 9669

題意:給你一些單詞 和優先值 然後當你按下數字的時候首先會出現哪個單詞 就是我們平時手機的按鍵

思路:建一顆字典樹 因為按乙個數字對應多個字母 那麼就有多種情況 我們要輸出權值最大的乙個 我用了優先佇列 這裡每個字首的優先值是所有單詞優先值的和

例如abc 5 abd 6 acd 7 那麼a這個字首的優先值是18 ab的優先值是11

#include #include #include using namespace std;

const int maxnode = 100010;

const int sigma_size = 26;

const int maxn = 1010;

int ch[maxnode][sigma_size];

int val[maxnode];

int sz;

char s[maxn][110];

char id[12][6] = ;

void init()

struct node

node(int _u, int _v, int _x, char* s)

bool operator < (const node& rhs) const };

int idx(char c)

void insert(char *s, int v)

u = ch[u][c];

val[u] += v;

} //val[u] += v;

}void find(char *s)

} if(q.empty())

else

}}int main()

printf("scenario #%d:\n", cas++);

scanf("%d", &m);

while(m--)

puts("");

} return 0;

}

POJ 1451 T9 (字典樹好題)

背景 為了方便九宮格手機使用者發簡訊,希望在使用者按鍵時,根據提供的字典 給出字串和頻數 給出各個階段最有可能要打的單詞。題意 首先給出的是字典,每個單詞有乙個出現頻率。然後給出的是詢問,每個詢問有乙個數字字串,代表在手機上按了哪些鍵,以1結束。問按鍵的過程中最可能出現的單詞分別是哪些。思路 搞了很...

POJ 1451 T9 字典樹好題

題意 原來的按鍵手機都一般是九鍵,九鍵輸入英文很麻煩,例如要鍵入 hello 必須按兩次鍵4 兩次鍵3 三次鍵5 三次鍵5,最後按三次鍵6。現有一種新的輸入方案名叫 t9 只需要不重複地按鍵,軟體就會使用內建的字典來查詢最可能的與輸入匹配的單詞。例如,輸入 hello 只要依次按下4,3,5,5,6...

poj3376 字典樹 擴充套件kmp

kuangbin專題十六字最後一發 題意 n個字串,每個字串長度為l,將字串兩兩自由組合一共有 n n種方案 判斷其中組合之後為回文串的字元有多少個.做法 首先由兩個字串a,b.要使它們能組成回文串有三種情況 1.alen blen 時 a是b的反串字首,且b的剩餘部分可以認為是字尾是回文串 2.a...