A. u
一眼差分,在斜線上加一減一。
然后發現這樣的復雜度是$O(nq)$的,似乎不是很好過。
然后發現打差分標記的形式也是連續的,所以差分兩次就完了。
B. v
最優決策問題,一般倒着轉移,$O(n*2^n)$的dp是顯然的。
考試時一直在想能否改成三進制狀壓,只壓15位狀態,表示距離邊界距離為i有多少個白球。
然后發現沒有辦法確定某個狀態會轉移到誰,於是打了全部部分分。
其實仔細想想就可以發現,狀態數不會很多。
對於剩余球比較多的情況,狀態數不會超過$C_n^i$,
對於剩余球比較少的情況,狀態數不會超過$2^i$。
所以正解其實是用hash表記憶化狀壓搜索。
其實狀態數不會超過$\sum \limits_{i=1}^{n+1} fib_i$,證明見評論區。
PS:證明全靠大神cbx提攜。
C. w
首先應當發現一條性質,如果只考慮進行操作的邊,那么答案為這些邊造成的奇數度數的點數除2。
在這個奇數度數點最少的前提下,應當使總長度最小。
所以用一個pair來進行轉移,first記錄奇數點個數,second記錄總長度。
因為一個點可能指向多個點,應當用一些東西輔助轉移。