2020國家集訓隊作業選做


板子之類的有在復習,多見點難題,提高下思維姿勢水平

[ ] CF504E Misha and LCP on Tree
哈希是具有可加減性的,我們預處理出根到每個節點正反的哈希值,由於怕被卡,要寫雙哈希。
如何快速求lcp,按照序列上的套路,顯然是先二分一個長度,然后check
定完長度后,要求得哈希值,需要用預處理的哈希值差分,這里需要快速查\(k\)級祖先,即\(O(n\log n)-O(1)\)\(k\)級祖先,長鏈剖分解決
問題在\(O(n+m)\log n\)的時間完成了
這里簡要介紹下長鏈夠分求\(k\)級祖先
預處理長鏈鏈頭上下鏈長個點,每個點\(2^i\)級祖先
查詢時,先跳\(2\)的最高冪次,找到長鏈頭,在於處理上下鏈長的點的數組中找到答案

[x] CF505E Mr. Kitayuta vs. Bamboos
一個比較巧妙的題,看到最大值最小,應想到二分
check感覺毫無思路,不妨反向思考,所有竹子高度是\(mid\),每次減\(a_i\)的高度,被選中的可以加\(p\)的高度,時時刻刻所有竹子高度必須非負且操作后均大於等於原來的我們考慮維護那些位置先變成負數,優先給這些竹子增加\(p\)高度,用堆維護,還要判下最后狀態是否能通過一定的操作,使得所有高度均大於等於原高度
復雜度為\(O(m k \log n \log w)\)\(w\)表示竹子長到的最大高度

[] CF506E Mr. Kitayuta's Gift
最終長度\(n+|s|\)為奇偶差不多,我們先討論為偶的情況。
考慮不能重復計數,所以我們定義原串s存在的位置是在以回文重心為界限,左右兩邊盡量向回文串兩端匹配的位置,例如\(abba\)\(aabbaa\)的位置是\(1,3,4,6\)
\(f_{i,l,r}\)表示只考慮回文串前\(i\)和后\(i\)個字符,與\(s\)\([l,r]\)還沒有找到位置的方案數,\(g_i\)表示只考慮回文串前\(i\)和后\(i\)個字符,\(s\)已經完全匹配的方案數,不難寫出轉移

  1. \(s_l=s_r,r-l \leq 1\)

\[f_{i,l,r} \rightarrow g_{i+1} \]

\[f_{i,l,r} \times 25 \rightarrow f_{i+1,l,r} \]

  1. \(s_l=s_r,r-l \geq 2\)

\[f_{i,l,r} \rightarrow f_{i+1,l+1,r-1} \]

\[f_{i,l,r} \times 25 \rightarrow f_{i+1,l,r} \]

  1. \(s_l \neq s_r\)

\[f_{i,l,r} \rightarrow f_{i+1,l+1,r} \]

\[f_{i,l,r} \rightarrow f_{i+1,l,r-1} \]

\[f_{i,l,r} \times 24\rightarrow f_{i+1,l,r} \]

  1. g的轉移

\[g_i \times 26 \rightarrow g_{i+1} \]

發現這個東西可以矩陣快速冪加速,但是並沒有什么作用。發現轉移這是個dag,就當是個自動機,考慮如何優化節點數
發現自動機節點只分兩種。設紅點表示兩端不匹配的點,綠點表示兩端匹配的點(包含\(l=r\))。通過轉移觀察,發現紅點轉移一樣,綠點轉移也一樣,和順序無關。設紅點數為\(r\),綠點數為\(g\),對於一條路徑,一定滿足\(g=\left\lceil\frac{|s|-r}{2}\right\rceil\)。紅點數增加時綠點減少,那么實際就可以前后綴和優化建圖的思想建出點數為\(|s|\)級別的自動機,矩陣快速冪即可。注意我們不考慮順序需要乘個貢獻的,在紅點連綠點時乘上。考慮這個貢獻的求法,設\(h_{i,l,r}\)表示選了\(i\)個紅點,\([l,r]\)未匹配的方案數,記憶化搜索求解
奇數的情況還要減去不合法的(兩個字符的綠點轉移到\(g\))
我們得到了\(O(|s|^3 \log n)\)的做法,似乎有點卡常

[x] CF512D Fox And Travelling
顯然環上的點是無法刪除的,剩下只剩一些有根樹(跟是接着環的節點)和無根樹
分別求解每個樹的答案,最后合並背包,乘上組合數即可
1.有根樹
\(f_{i,j}\)表示\(i\)子樹選了\(j\)個的方案數,不同子樹合並也要乘上組合數
2.無根樹
每個點欽定為跟做一次有根樹的做法,大小為\(k\)的會被統計\(n-k\)次,乘個逆元即可
做法復雜度為\(O(n^3)\)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM