P1481 魔族密碼

2021-09-07 15:01:31 字數 1706 閱讀 5487

風之子剛走進他的考場,就……

花花:噹噹噹噹~~偶是魅力女皇——花花!!^^(華麗出場,禮炮,鮮花)

風之子:我嘔……(殺死人的眼神)快說題目!否則……-_-###

花花:……咦好冷我們現在要解決的是魔族的密碼問題(自我陶醉:搞不好魔族裡面還會有人用密碼給我和菜蟲寫情書咧,哦活活,當然是給我的比較多拉*^_^*)。魔族現在使用一種新型的密碼系統。每乙個密碼都是乙個給定的僅包含小寫字母的英文單詞表,每個單詞至少包含1個字母,至多75個字母。如果在乙個由乙個詞或多個詞組成的表中,除了最後乙個以外,每個單詞都被其後的乙個單詞所包含,即前乙個單詞是後乙個單詞的字首,則稱詞表為乙個詞鏈。例如下面單詞組成了乙個詞鏈:

i int integer

但下面的單詞不組成詞鏈:

integer

intern 現在你要做的就是在乙個給定的單詞表中取出一些詞,組成最長的詞鏈,就是包含單詞數最多的詞鏈。將它的單詞數統計出來,就得到密碼了。

風之子:密碼就是最長詞鏈所包括的單詞數阿……

花花:活活活,還有,看你長得還不錯,給你乙個樣例吧:

輸入格式:

這些檔案的格式是,第一行為單詞表中的單詞數n(1<=n<=2000),下面每一行有乙個單詞,按字典順序排列,中間也沒有重複的單詞咧!!

輸出格式:

你要提交的檔案中只要在第一行輸出密碼就行啦^^

輸入樣例#1:

5

iint

integer

intern

internet

輸出樣例#1:

4
dp lis

思路易得,lis

說乙個o(nlogn)的演算法;

維護單調棧+二分,棧的長度即為最大公共子串行的長度

入棧操作:

1)若將要進棧的元素包含棧中最大元素,進棧並儲存在最後乙個位置,top++。

2)否則,找到第乙個不被將要進棧的元素包含的位置,將其替換成將要進棧的元素,這部分由二分完成

說明:這個題目是字典序,才能這麼做,自己想想,想不懂的看下面樣例的演示過程:

樣例:7

iint

integer

intern

internet

intexl

intexlm

樣例的棧演示過程:

洛谷P1481 魔族密碼 LIS

題目鏈結 給出一堆字串,若乙個串是另乙個串的字首 那麼它們可以連線在一起 問最大的鏈結長度 lis沙比提其實是做完了才看出是lis include include include include define ll long long define int long long using names...

魔族密碼(Vijos 1028)

風之子剛走進他的考場,就 花花 噹噹噹噹 偶是魅力女皇 花花!華麗出場,禮炮,鮮花 風之子 我嘔 殺死人的眼神 快說題目!否則 花花 咦 好冷 我們現在要解決的是魔族的密碼問題 自我陶醉 搞不好魔族裡面還會有人用密碼給我和菜蟲寫情書咧,哦活活,當然是給我的比較多拉 魔族現在使用一種新型的密碼系統。每...

vijos p1028 魔族密碼

風之子剛走進他的考場,就 花花 噹噹噹噹 偶是魅力女皇 花花!華麗出場,禮炮,鮮花 風之子 我嘔 殺死人的眼神 快說題目!否則 花花 咦 好冷 我們現在要解決的是魔族的密碼問題 自我陶醉 搞不好魔族裡面還會有人用密碼給我和菜蟲寫情書咧,哦活活,當然是給我的比較多拉 魔族現在使用一種新型的密碼系統。每...