8.30 CF Round 969 (Div.1)
Solve : A~C (3/6)
Rank : 516
Rating : \(2174-10=2164\)
Perf : 2134
發揮評價:Bad+
唉,被 1B 整破防了。
現在一碰到這種 implementation 就爆炸,要想清楚再寫。
然後我還以為 B 都不能過(那太唐了),不過反正 1.3h 過了還是下大分,只好寫 C。
C 最後還想了很久,還忙中出錯吃了兩發,反正是在 2h28min 透過了,離 -60 一步之遙。
啥時候能有 duel 時候切 *2300 的速度,我就離 IM 不遠了。
(當然如果我只打 Div.1+2 也不遠了)
CF2006B
一棵按照 dfs 序標號的樹,每條邊長度未知,只知道總和為 \(w\)。
現在 \(n-1\) 次詢問,每次選擇一條邊公佈權值,問對所有 \(1\le i\le n\),\(\text{dis}(i,i%n+1)\) 最長能是多少,只需要輸出 \(1\le i\le n\) 的所有情況答案的和。\(n\le 2\times 10^5\)。
Solution:我們假設所有不知道邊權的邊名字叫未知邊,那麼對於包含所有未知邊或者不包含未知邊的,答案不影響;只有包含部分未知邊才影響。
顯然每條已定邊計算兩次,未定邊計算未定路徑加包含所有未知邊路徑次。
考慮到任意修改一條邊只會動兩條路徑,暴力維護即可。
CF2006C
一個非負整數集,可以加入集合中任意兩數的平均數(得是非負整數),如果能這樣變換成一段連續值域,這個集合就是好的。
現在給定一個序列,求有多少區間組成的集合是好的,\(n\le 4\times 10^5,a_i\le 10^9\)。
Solution:先觀察好的陣列的形態,然後發現大多都是好的,那計算不好的。
不好的陣列的形態是:將最小的改為 \(0\) 後,如果 \(\gcd\) 包含奇數質因子,就不好,否則 \(\gcd=2^i\),就好。
但是最小改為 \(0\) 不好處理,可以研究差分陣列,現在問題就是固定左端點找最遠的符合規定的右端點,發現有單調性,ST 表預處理後二分即可。