蒜頭君有 個字符串,他隨機選兩個字符串,問它們的最長公***前綴的期望是多少。
輸入格式
第壹個壹個整數 ,表示蒜頭君有 個字符串。( )
接下來 行,每行壹個字符串,保證字符串僅由小寫字母組成且總長度不超過 。
輸出格式
輸出壹行,為最長公***前綴的期望,與標準輸出相差 以內均算通過。
這道題目,我們可以運用我們剛學習的 字典樹 數據結構的原理來解決這個問題。
第壹步,建立壹棵字典樹,統計每個節點的經過次數 和 以它為結尾的字符串個數。
第二步,通過對字典樹、還有最長公***前綴的分析,那麽最長公***前綴到達該節點時,有以下三種情況: