1. 程式人生 > 其它 >【省選模擬】4 月

【省選模擬】4 月

4.3

Max (CSA Expected Max)

\(m\) 很小,可以狀壓決策集合,逐個新增元素。

\(f[i,s,j]\) 為第 \(i\) 個元素在且僅在操作集合 \(s\) 中被加,值為 \(j\) 的概率;\(g[i,s,j]\) 為前 \(i\) 個元素佔用了操作集合 \(s\),最大值為 \(j\) 的概率

列舉 \(\text{highbit}(s)\)\(i\) 加了多少可以 \(O(c^{2}m2^{m})\) 計算 \(f[i]\),預處理 \(f[i,s],g[i,s]\) 字首和,列舉子集可以 \(O(cm3^{m})\) 轉移到 \(g\)

Paint (ARC063F)

一個比較簡潔分治做法,較線段樹做法常數和碼量都更小

兩層分治列舉 \(x,y\) 上的中線,統計跨過中線的矩形。求出每個左/右邊界對應的上下邊界,通過旋轉座標系使得矩形右上角位於右上區域。下邊界在右下區域可以單調指標求出左邊界;下邊界在左下區域可以單調佇列維護左邊界

不難發現答案下界為 \(2(\max(w,h)+1)\),很難想到不跨過 \(\frac{w}{2},\frac{h}{2}\) 的矩形周長上界為 \(2(w+h)\),因此答案一定跨過 \(\frac{w}{2}\)\(\frac{h}{2}\),可以省掉一個分治。時間複雜度 \(O(n\log n)\)