牛客多校2 - All with Pairs(字符串哈希+next数组)
生活随笔
收集整理的這篇文章主要介紹了
牛客多校2 - All with Pairs(字符串哈希+next数组)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
題目鏈接:點擊查看
題目大意:給出 n 個字符串,定義函數(shù) f( s , t ) 為字符串 s 的前綴和字符串 t 的后綴所能匹配的最大長度,現(xiàn)在求?
題目分析:因為總的前綴和后綴的個數(shù)都為??個,所以我們可以預(yù)處理時將所有的后綴的哈希扔到 map 里計數(shù),然后遍歷每個前綴,記錄和當(dāng)前前綴相等的后綴有多少個,不過會出現(xiàn)重復(fù)計算的問題,例如對于字符串 s = "aba"?來說,f ( s?, s?) 應(yīng)該是 3 才對,但是當(dāng)長度為 1 時,s[ 1 ] = s[ 3 ] = ' a ' 因為也滿足前綴和后綴相等的條件,所以也會被計算到答案中去,為了去重,我們可以用 next 進(jìn)行去重,只需要使得 cnt[ next[ i ] ] -= cnt[ i ] 即可,具體原理自己在紙上畫一下不難看出,這里不多贅述了
代碼:
?
?
超強(qiáng)干貨來襲 云風(fēng)專訪:近40年碼齡,通宵達(dá)旦的技術(shù)人生總結(jié)
以上是生活随笔為你收集整理的牛客多校2 - All with Pairs(字符串哈希+next数组)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POJ - 1026 Cipher(置换
- 下一篇: 牛客多校2 - Greater and