這篇模考總結比較潦草,等以后改吧。
T1:
經典題目,不多加贅述。
T2:
差點沒做出來。
一開始看感覺像 dp,感覺像樹形 dp。
后面一直沒想出來,於是考慮部分分:
对于另外 20\% 的数据,整棵树是一条链。
白送的部分分,時間複雜度 O(n) 把整條鏈遍歷一邊即可。
然後呢,受到 T3 啓發,從反面思考,考慮對於一個可能的答案 \operatorname{ans} 考慮是否可行,注意到獲得的價值隨健身時間的增加而增加。
容易想到二分,check 函數使用 dfs / bfs 均可。
T3:
容易想到 dp。
感覺與 dp 模板無太大區別。
考慮 f_i 表示使慶帝最後擁有 i 位子民,最少需要蛊惑的士兵數量。
於是有經典轉移方程:
\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ } f_i\gets \min\left\{f_i,f_{i-c}+w\right\}
考慮這裏的 c,w 如何設置,顯然 c 為題目中的 c_i,而根據題目描述有:
\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ }\text{ } w=\begin{cases} 0 & \text{ if } a_i>b_i \\ \frac{a_i+b_i+1}{2}-a_i & \text{ if } a_i< b_i \end{cases}
於是我們優雅地解決了此題。
T4:
沒有場切。
注意到 k 為答案的必要條件為 k+1\mid n。
那麽繼續考慮,若我們刪除邊 (\operatorname{fa}_u,u) 那麽以 u 為根節點的字數大小一定為 \frac{n}{k+1},易知有且僅有 k+1 個滿足要求的點。
複雜度大致 O(n) 可以通過。