HDU1247 字典樹經典題

2021-08-14 23:10:18 字數 653 閱讀 3559

題意:

給你一些單詞,問你其中哪乙個單詞可以由其他兩個單詞組成,還有就是乙個單詞可以由同乙個單詞重複組成兩次。

題解:

把乙個單詞拆分成兩個進去find函式查詢,如果兩個都可以說明該單詞由兩個單詞組成。

#include

#include

#include

using

namespace

std;

const

int maxn=50000+7;

struct node

}*root;

char s[maxn][107];

void insert(char *s)

r->cnt=1;

}bool find2(char *s)

if(r->cnt)

return

true;

else

return

false;

}bool find(char *s)

return

false;

}int main()

for(int i=0;iif(find(s[i]))

printf("%s\n",s[i]);

}}

hdu1247 字典樹模板

今天又接觸了乙個樹 字典樹。給出結構圖。其優點 節約儲存空間,提高查詢效率。其主要函式用法insert 插入結點,用到了指標,總感覺指標用在表示前字尾這種關係上是最清晰的了。先把這份模擬別人寫的 寫下當作模板!以後有時間再繼續做幾道字典樹的題。include include includeusing...

HDU 1247 字典樹 乙個單詞由兩個單詞組成

include include include using namespace std define max 26 struct node typedef struct node numtree struct node numtree init numtree t return t void ins...

hdu2846(字典樹好題)

字典樹的好題 題意 給你n個串,然後又q次詢問,輸出n個串中包含改串的個數 思路 這題非常考驗個人的分析能力,最初的想法是用ac自動機或者是字尾陣列做,但有感覺不可行,最後看了題解才知道要用字典樹,對n個串的子串的字首建立字典樹,注意 同乙個串可能有相同的子串,所以要有個flag標記。首先要注意的是...