暑假模擬16
\(T_A\) 九次九日九重色
最長上升子序列,預處理整除關係,樹狀陣列維護,其中複雜度用到調和級數。
\[O(\sum_{i=1}^n \frac{n}{i} \times \log n) =O(n \times \log ^2 n)
\]
\(T_B\) 天色天歌天籟音
掛分最慘的一集。
貪心的策略顯然,發現這樣題目就變為求區間眾數,屬於比較典的題。
莫隊,分塊都有做法,沒什麼好說的。
講講神仙掛分,場上寫回滾莫隊,然後狂調不止,以前回滾寫得少,發現一堆問題,終於調過大樣例,還有點不放心,思考要不要寫對拍,但我覺得資料應該夠強,況且場上沒時間也懶得寫了。結果掛了 \(90pts\) ,因為最後輸出答案,一共 \(m\) 個詢問,我輸出了 \(n\) 個數?(迷惑行為)
這確實是自己的問題,畢竟人家大樣例都開到極限了。對於不同的程式碼有不同的問題,不要認為過了一組大樣例就是AC。樣例不一定是水,只是沒有撞到各種逆天問題。(悲)我懺悔
\(T_C\) 春色春戀春熙風
dus on tree
樹上啟發式合併,複雜度達到了神奇的 \(O(n\ \log n)\)
考慮一些字元重排後可以形成迴文串,當且僅當出現次數為奇數的字元個數為 \(0\) 或 \(1\)
從根節點出發,求出每個節點到根的異或和,用二進位制表示奇偶性,開一個大小為 \(2^{22}\) 的桶維護最大深度(一定初始化為負無窮),具體過程如下:
先處理每個輕兒子,每次處理完都要清空桶(標記為負無窮!),以免對其他節點產生影響。再跑重兒子,不清空,直接繼承重兒子的資料。然後再次遍歷每個輕兒子,統計答案並不斷更新桶,最後把當前節點的貢獻統計上就好。
複雜度 \(O(23\times n \log n)\)。所有人都需要控制一下自己的常數