题目列表
复盘
2023年10月7日记:第一題穩拿,後面部分分打得非常糟糕,死磕一道題磕不出來的嚴重後果,,!
\(\color{Gray}{p.s.就是喜歡用繁體字,誒嘿}\)
時間情況
概況
總時長是4h,從早上8:00到中午12:00。不過中間有大概1個小時都在划水(太困了喂)。
時間線
前一個小時在睡眼朦朧中把T1切掉了。講真,最近的T1的難度令我感到困擾,畢竟正式考試不太可能這麼簡單吧,什麼入門難度題目啊。
接著是一覺睡到10點鐘。所以良好的精神是非常重要的,,早睡早起!
然後看了看T2吧,感覺是能做的,所以就開始死磕了。
當然磕了一會沒磕出來的話,還是看了後面兩道題,但是感覺T34不太好寫,簡單寫了騙分就放棄了。於是又回到T2。
剩下兩個小時就是不停的想T2了。說起來真是愚蠢,整整2個小時也沒有解出來。都是細枝末節的發現,並沒有解決關鍵性的問題。所以以後應該還是要多依靠“經驗”和“套路”,畢竟這是考試(比賽)嘛,節約時間是非常必要的。
部分分
- T1:懷著幾乎自大的信心只寫正解。
- T2:想了70pts然沒調出來。
- T3:不可以,總司令!(榮獲10pts)
- T4:沒寫。
二編:T2其實腦袋有點接近了,對一類算法/題的對應關係沒有掌握好,,。說到底還是那個“思路太過於發散,並沒有目標和方向”的問題,需要多多總結!
題解
T1 Karma
一种普通的贪心。假设第\(i\)段中有\(a_i\)个0,有\(b_i\)个1,则按照\(\frac{b_i}{a_i}\)从小到大的顺序将01串拼接起来,并求出逆序对个数即可。
证明:
设最优串中的第\(i\)段和第\(i+1\)段,满足\(\frac{b_i}{a_i}>\frac{b_{i+1}}{a_{i+1}}\)。
相当于:\(b_i\times a_{i+1} > b_{i+1}\times a_i\)。由于分段的原因,两段内的逆序对个数一定。那么这个式子意味着,只考虑这两段,那么[当前顺序下逆序对个数]大于[交换两段后逆序对个数]。而第\(1\)$i-1$和$i+2$\(n\)段产生的逆序对个数,与第\(i\)和\(i+1\)段的顺序无关。
故交换第\(i\)和\(i+1\)段一定可以使答案更优。