1. 程式人生 > 其它 >【統一省選2022】前的自閉記錄

【統一省選2022】前的自閉記錄

【Goodbye Xinchou】趙雲八卦陣

考慮最後的序列 \(b\),可以發現 \(b_i\) 的取值為 \(a_{j<i}\) 可以表示出的數異或 \(a_i\),方案可以從後往前依次構造。

最後最長上升序列一定是一段字尾剔除一些插入成功的位置,因為後面的值域包含前面的。

那麼設 \(f_{i,j}\) 為考慮完第 \(i\) 個插入成功的位置以後的序列,LIS 包含了 \(j\) 個插入成功的位置,開頭的最大值,轉移強制選取沒有插入的位置即可。

複雜度 \(O(n\log a+\log^3 a)\)

【Goodbye Xinchou】張飛卷精兵

考慮用一棵完全二叉樹來描述對決,葉子結點為參賽者,非葉子結點為子樹內權值最大的參賽者。

那麼一個參賽者對答案的貢獻為 \((-1)^{不同祖先個數}\),一個二叉樹合法只需要保證權值關係。

從大到小依次考慮每個參賽者,並維護當前可填結點集合,開始只有根,如果有負貢獻的點直接填,並加入高度為 \(0...d-1\) 的正貢獻結點個一個,否則選取高度最大的正貢獻結點。

可以按照正貢獻的高度依次模擬這個過程。

複雜度 \(O(n\log mod)\)