5.31 CF R 949 (Div.2)

Fun_Strawberry發表於2024-06-01

5.31 CF R 949 (Div.2)

Solve : A~D (4/6)

Rank : 99

Rating : \(1939+131=2070\)\(1989+81=2070\)

發揮評價:Normal

失誤:

小失誤是做 2B 時候沒有注意,第一次錯了之後就急了,接連交了 \(4\) 發罰時。

注意如果交上去 WA 了,想清楚、找清楚問題再交。

CF1981E

(me *2200)

給定 \(n\) 個區間 \([l_i,r_i]\)\(n\) 個權值 \(a_i\),對任意 \(i≠j\),如 \(i,j\) 對應區間有交,則在點 \(i,j\) 間連一條權值 \(|a_i-a_j|\) 的邊。

求最終圖的 MST。

Solution:

考慮對區間做掃描線,則在任意時刻,位於集合內的所有點連成一條從小到大的鏈顯然最優。

此時直接維護極差變化值並不正確,因為鏈中間還可能加入一些點,他們也要向集合中的點連邊,產生額外代價。

那麼向集合中哪個點連邊?向離得最近的連。

正確的做法是:每加入一個點就向它在集合中的前驅後繼連邊,這樣最後總邊數是 \(O(n)\) 級別的,直接求 MST 即可。