hdu3724 字典樹 商品條形碼

2021-06-22 13:16:17 字數 1585 閱讀 2393

題意:

給你一堆商品的名字,然後給你一些條形碼,問你這些條形碼轉換成的字串的

字首在商品中出現的個數,條形碼的每個字母是八個二進位制數字,有兩種數,大的是小的2倍,小的是0,大的是1,這裡面的吳超是 *0.95---*1.05之間。

思路:顯然是字典樹,字典樹處理字首出現次數,先把所有字串加到樹裡面,然後我

們想辦法吧這個二進位制數字翻譯成字母,其實很簡單,先找到乙個最大的,然後列舉每乙個 int(max * 1.05 / (num[i] * 0.95)) ,如果他是1,那麼當前這位是1,否則當前這位是0 ,然後轉換成十進位制。然後直接在樹上查詢就行了。

#include#include#includetypedef structtreetree;tree root;

voidbuid_tree(

char

*str)

else

}}intfind(

char

*str)

returnp->v;

}int

main

()sum=0;

while

(m--)

intnow,ss=0,mk=1;max=max*1.05;

for(

intj=8;j>=1;j-- ,mk*=2)

str[i-1] =ss;

}str[n] ='\0';sum+=find(str);

}printf("%d\n",sum);

}return0;

}

hdu 1251 字典樹入門

ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師交給ignatius統計的單詞,乙個空行...

HDU1251字典樹模板

problem description ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師...

HDU 1251 字典樹 入門

ignatius最近遇到乙個難題,老師交給他很多單詞 只有小寫字母組成,不會有重複的單詞出現 現在老師要他統計出以某個字串為字首的單詞數量 單詞本身也是自己的字首 input 輸入資料的第一部分是一張單詞表,每行乙個單詞,單詞的長度不超過10,它們代表的是老師交給ignatius統計的單詞,乙個空行...