ABC366簡要題解

徐子洋發表於2024-08-11

C

直接維護一個桶,表示每個元素當前的出現次數。
再利用這個桶直接維護答案即可。

D

三維字首和模板題。

E

注意到答案中只會出現 \(O(n)\) 個不同 \(x\),以及 \(O(n)\) 個不同的 \(y\)

於是單獨考慮 \(x\)\(y\),最後尺取求一下答案即可。

F

首先我第一個嘗試的思路是貪心,但是很顯然沒法貪。

如果沒法貪心,看起來就只能是 \(\text{DP}\) 了。

但是直接線性 \(\text{DP}\) 也沒法做,因為你選擇一些數對的順序影響著你的答案。

於是我們希望能有一個合理的順序——考慮排序。
注意到一個經典的思路就是,我們對於一種最終選擇的順序方案,調換其中相鄰的兩個數不會對其前面和後面的貢獻產生影響,只會對這兩個位置的值產生影響。於是我們比較優先順序的時候就按照這兩個數誰在前面更優來決定。
同時既然我們要拿來排序,就必須要證明出大小關係的傳遞性。這是我們最初的 \(\text{Cmp}\) 函式判定式:

\[A_iB_j+B_i>A_jB_i+B_j \]

移項,兩邊同除以 \(B_iB_j\) 得:

\[\frac{A_i-1}{B_i}>\frac{A_j-1}{B_j} \]

容易發現,現在的式子只與 \(i\) 本身有關,具有傳遞性。

相關文章