2019 9 2訓練總結

2021-09-26 19:20:17 字數 1153 閱讀 3248

今天看的字典樹的相關題目,一開始想看ac自動機相關題目,但是我字典樹還沒有掌握的很好,所以就看了字典樹的相關題目。

uva 1401 remember the word(dp+字典樹trie)

題目意思是: 給你乙個由n個單詞組成的詞典,和乙個字串s。問你s由n中的單詞組成的方法有多少種?字典中的單詞可以重複使用但是不可重疊。

題解:查詢[i,l-1]區間內有沒有單詞x出現,且匹配區間是[i,i+len(x)-1],如果出現,d[i]+=d[i+len(x)],l表示strlen(s),d[i]表示s[i,l-1]由n中的單詞組成的方法有多少種。

然後初值d[l]=1,其他所有d值初始為0,然後從l-1一直遞推到0,最終結果就是d[0]

hdu 4099 revenge of fibonacci(高精度加法+字典樹trie)(思想很不錯的題目)

題意:給你乙個數,這個數是斐波那契數列中的乙個數的字首,要你找出滿足這個字首的最小下標.且這個下標如果超過了10w,還沒有符合要求的數,就輸出-1.且輸入數不會查過40位,且沒有前導0。

將第0到第10w個斐波那契數的前40位都儲存為字串構建字典樹。然後對於每個輸入串判斷是否在該字典樹即可。但是:第10w個斐波那契數大概有2w位整數,我們不可能把所有10w個斐波那契數都算出來(因為超長整數加法太慢)。所以:我們採取的策略是對於每個斐波那契數我們只儲存它的前60位(雖然我們需要前40位),然後後乙個數在前兩個數的前60位基礎上算出。

方法是有問題的(但是出現問題的概率很低很低).因為它捨棄了60位後的所有位,如果這後面的位有進製呢?

但是我們例子中要的是前40位,我們取前60位,只要我們第41位-60位有兩個對應位相加有進製,就可以無視60-1000位的進製.這裡由於我們就算的資料特殊40-60位肯定是有進製的.

注意:我們程式**中的實現是,只要第二個數的位數一超過60位(正好61位)我們就同時截斷第乙個和第二個數的最後一位(最低位),可能就變成了59+60位或60+60位的情況了.所以這個時候我們只需要把這兩個數從低位(字元陣列的最後一位)乙隻加到高位即可。然後對於每個輸入的字串s,我們在trie樹中找與之對應的數下標即可.注意:如果我們在trie沒有找到包含s的串,那就輸出-1,如果我們找到了以s為字首的串,我們就繼續向下走到底,找出所有以s為字首的單詞的斐波那契下標,然後輸出最小的那個下標即可。

2019 9 2每日新聞

1 pc帝王稱霸史 曾經的世界第一如今已成黃土 8月中旬,聯想公布了2019財年q1財報,稱其pc市場份額達24.9 位居全球第一。市場占有率的高低,自然需要資料作為支撐。聯想和惠普的市場份額逐步上公升,穩坐頭兩把交椅,輪流爭第一。3 谷歌project wing無人機送貨專案獲澳官方批准 世界首個...

暑假訓練總結 SSL暑假訓練總結

第一周過的還算好吧,覺得飯堂伙食也挺好的,同學也挺好。學習的東西感覺比小學難好多,有種覺得以前學的東西太簡單了的感覺,但多虧了小學的時候基礎打得還算紮實,學得還行,但總是感覺自己就是個菜雞,就是乙個蒟蒻,哎,室友真的太強了。第一周總結 第二週自我感覺挺不錯的,總算追上了部分室友,成績也開始 這一切都...

拓展訓練總結

拓展訓練總結 2006年4月30日至5月1日,我參加人眾人公司的 團隊協作 拓展訓練,在拓展訓練結束之後,雖然是身心俱疲,但感想頗多,特總結如下 一 關於拓展訓練 拓展是近年頗流行的時尚休閒方式,在教練的介紹下,我才知道它的由來 拓展英文為 outward development 中文譯為 拓展 或...