ssl1608 皇宮看守 樹形DP

2021-10-09 05:09:00 字數 2430 閱讀 7485

太平王世子事件後,陸小鳳成了皇上特聘的御前一品侍衛。

皇宮以午門為起點,直到後宮嬪妃們的寢宮,呈一棵樹的形狀;某些宮殿間可以互相望見。大內保衛森嚴,三步一崗,五步一哨,每個宮殿都要有人全天候看守,在不同的宮殿安排看守所需的費用不同。

可是陸小鳳手上的經費不足,無論如何也沒法在每個宮殿都安置留守侍衛。

幫助陸小鳳布置侍衛,在看守全部宮殿的前提下,使得花費的經費最少。

輸入檔案中資料表示一棵樹,描述如下:

第1行 n,表示樹中結點的數目。

第2行至第n+1行,每行描述每個宮殿結點資訊,依次為:該宮殿結點標號i(0對於乙個n(0 < n<=1500)個結點的樹,結點標號在1到n之間,且標號不重複。

6130

3234

21625

6350

4405

11065

0

輸出檔案僅包含乙個數,為所求的最少的經費。

25
設f[i

][0]

f[i][0]

f[i][0

] 表示當前節點站士兵;

設 f [i

][2]

f[i][2]

f[i][2

] 表示當前節點不站士兵,被父節點監視。

設 f [i

][1]

f[i][1]

f[i][1

]表示當前節點不站士兵,被他其中乙個子節點監視。

有三種情況:

第dep個節點有士兵了,那麼子節點放與不放都可以。

f[dep][0

]+=min

(f[a[i]

.to][0

],min(f[a[i]

.to][1

],f[a[i]

.to][2

]));

} f[dep][0

]+=w[dep]

;//因為放了,所以最後要加上他的經費(在迴圈外)

第dep個節點被父節點監視,所以第dep節點的子節點不會被監視到,那麼子節點的子節點 就要放士兵,用來監視第dep節點的子節點。

f [d

ep][

2]+=

f[a[

i].x

][1]

;f[dep][2]+=f[a[i].x][1];

f[dep]

[2]+

=f[a

[i].

x][1

];因為被子節點監視,只需要乙個子節點監視即可,其他子節點可放可不放,所以先對子節點可放可不放的和做乙個預處理。

for

(int i=h[dep]

;i;i=a[i]

.next)

min(所有子節點可放可不放的和- 當前子節點可放可不放+當前子結點必須放(f[a[i].to][0]))

這個式子就可以求出當前子節點放士兵監視的值了

for

(int i=h[dep]

;i;i=a[i]

.next)

f[dep][1

]=min(tt-tmp[i]

+f[a[i]

.x][0]

,f[dep][1

]);

#include

#include

#include

#include

using

namespace std;

typedef

long

long ll;

//不開longlong見祖宗

ll n,h[

10001

],v[

10001

],f[

10001][

5],s[10001

],ans,tot;

struct node

a[100001];

void

add(ll x,ll y)

; h[x]

=tot;

}void

dp(ll k)

f[k][1

]+=s[k]

; ll t=0;

for(ll i=h[k]

;i>

0;i=a[i]

.next)

f[k][2

]=0x7fffffff

;for

(ll i=h[k]

;i>

0;i=a[i]

.next)

}int

main()

}for

(ll i=

1;i<=n;i++)}

return0;

}

皇宮看守 樹形DP

題意 description 太平王世子事件後,陸小鳳成了皇上特聘的御前一品侍衛。皇宮以午門為起點,直到後宮嬪妃們的寢宮,呈一棵樹的形狀 某些宮殿間可以互相望見。大內保衛森嚴,三步一崗,五步一哨,每個宮殿都要有人全天候看守,在不同的宮殿安排看守所需的費用不同。可是陸小鳳手上的經費不足,無論如何也沒法...

皇宮看守(樹形dp)

description 太平王世子事件後,陸小鳳成了皇上特聘的御前一品侍衛。皇宮以午門為起點,直到後宮嬪妃們的寢宮,呈一棵樹的形狀 某些宮殿間可以互相望見。大內保衛森嚴,三步一崗,五步一哨,每個宮殿都要有人全天候看守,在不同的宮殿安排看守所需的費用不同。可是陸小鳳手上的經費不足,無論如何也沒法在每個...

皇宮看守 樹形DP

time limit 10000ms memory limit 65536k total submit 63 accepted 27 case time limit 1000ms description 太平王世子事件後,陸小鳳成了皇上特聘的御前一品侍衛。皇宮以午門為起點,直到後宮嬪妃們的寢宮,呈一...