nyoj685查詢字串(字典樹)

2021-06-26 14:53:05 字數 709 閱讀 4662

#include//685查詢字串

struct trie;

trie *root;;

int turn(char c)//把字元轉換成陣列序號

void insert(char *s)//插入乙個字串

p=p->next[turn(*s)];

s++;

} p->count++;

}int tfind(char *s)

return p==null?0:p->count;//注意如果字串不存在也是0;不存在時候p==null

}void del(trie *p)//刪除,oj提交的時候建議不刪除,因為這個也耗時間。系統自動會**,但是自己寫的時候要注意。

delete p;

}int main()

{ int t;

int n,m;

int i;

char s[20];

scanf("%d",&t);

getchar();

while(t--)

{ root=new trie;

for(i=0;i<30;i++)

root->next[i]=null;

root->count=0;

scanf("%d%d",&n,&m);

for(i=0;i我也是即學即用。今天剛看的字典樹,今天用上的第乙個程式、自己理解不難,我就不加上注釋了。

NYOJ685 查詢字串(字典樹題

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 輸入第一行包含乙個整數t t 100 表示測試資料組數。接下來每組資料第一行包含兩個整數n,m n,m 100000 分別表示有n個字串,小明要問你m次。接下來n行,每行包含乙個字串,長度不大於15。接下來m行,每行包含乙個字串,表示...

NYoj 685 查詢字串

描述 小明得到了一張寫有奇怪字串的紙,他想知道一些字串出現了多少次,但這些字串太多了,他想找你幫忙,你能幫他嗎?輸入字元包括所有小寫字母 輸入第一行包含乙個整數t t 100 表示測試資料組數。接下來每組資料第一行包含兩個整數n,m n,m 100000 分別表示有n個字串,小明要問你m次。接下來n...

nyoj685 查詢字串 map

時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 小明得到了一張寫有奇怪字串的紙,他想知道一些字串出現了多少次,但這些字串太多了,他想找你幫忙,你能幫他嗎?輸入字元包括所有小寫字母 輸入 第一行包含乙個整數t t 100 表示測試資料組數。接下來每組資料第一行包含兩個整數n,m...