NOI 2008 奧運物流 trans

2021-05-22 10:04:27 字數 1417 閱讀 6638

首先應從題目條件中得到1號點一定在乙個環中,並且有且僅有乙個環。

容易證明r(1)的計算公式:

其中,d(i)表示點i到1號點的距離,len表示環的長度。

利用該公式,可以證明如果修改某個點的後繼,一定是把它的後繼改為1號:

首先應明確,由於k<1,公式中的的d(i)、len均越小越好。

點x不在環上,則修改x的後繼後,公式中len不變,而對所有經過x到達1號點的結點y,d(y)減小。為了讓d(y)減到最小,應把x的後繼改為1。

x在環上,用next[x]表示x的後繼,則把x的後繼改為next[next[x]]後,len減小,且x及其之前的點的的d值減小,故r(1)增大。由於環的長度減小了,而x仍在環中,通過對環的長度歸納,可以證明x的後繼一定改為1。

可以列舉環的斷點,再dp一下。狀態為:f[i][j][k],表示i到1的距離為j時,以i為根的子樹上,修改至多k個點的後繼所能實現的最大貢獻。有一點要注意,每次都應該把k從0算到m,不能只算到子節點的個數。我在這兒除錯了好久……

problem: trans

point    execution status     score         time [sec]    memory [kb] 

1        normal               10.000        0.015         4528        

2        normal               10.000        0.086         4528        

3        normal               10.000        0.019         4528        

4        normal               10.000        0.013         4524        

5        normal               10.000        0.051         4528        

6        normal               10.000        0.070         4528        

7        normal               10.000        0.030         4528        

8        normal               10.000        0.101         4524        

9        normal               10.000        0.217         4532        

10       normal               10.000        0.045         4528

NOI2008 設計路線 design

題目及題解可以參見byv大牛的,很詳細 自己的一些想法 實現的時候不需要求第一問的解是多少,只需要找到第乙個a i,b 0的b,然後前面的a i,b1 b1都是等於0的。所以這個定義 b的方案數就是 b的方案數。要熟悉這種利用輔助遞推,字首乘積,字尾乘積,以及固定乙個指標,劃另外乙個為1維的題。至於...

NOI2008 志願者招聘

文化課 競賽雙廢物又來水題解了。把下界限制轉化為一條邊的流量下界,這樣就是最小費用上下界最大流。加入幾個新值,其條件正好為 ge 0 將其當做一條流量,這樣不等式就變成了等式,我們可以利用流量守恆,用點的流滿 leftrightarrow 等式成立,這樣就變成了乙個最小費用最大流,去掉了上下界的影響...

NOI 2008 志願者招募

考慮用 p i 表示第 i 天實際招收的人數,我們假設我們有三種志願者,分別是 1 to 2,1 to 3 2 to 3 我們招手的人數分別是 b 1,b 2,b 3 那麼第一天實際人數就是 p 1 b 1 b 2 geq a 1 同理我們把三個不等式寫出來 b 1 b 2 ge a 1 b 1 b...