洛谷 P2016 戰略遊戲 (樹型dp)

2022-06-29 15:57:11 字數 846 閱讀 5662

傳送門

水的一批的樹型dp,看題沒看清以為是用最少關鍵點覆蓋所有點,結果是點覆蓋所有邊

那就是個很簡單的問題了(雖然點覆蓋點也不難,但我還是寫了好久,wa了)

設 fi,0 是 i 點不設防,fi,1 是 i 點設防情況下以 i 為根的子樹的最小貢獻。

因為如果乙個點不設防,那麼它的所有兒子必須設防來覆蓋父親到其的那條邊,

如果乙個點設防,那它兒子設不設防就無所謂了,取最小貢獻就 ok。

轉移方程看**吧。

#include #include 

#include

#include

#define maxn 1510

using

namespace

std;

typedef

long

long

ll;const

int inf=0x3f3f3f3f

;int n,f[maxn][2];

int head[maxn],to[maxn*2],nxt[maxn*2],tot=1

;int

read()

while(c>='

0'&&c<='

9')

return x*f;

}void add(int u,int v)

void dfs(int u,int

rt)}

intmain()

}dfs(

1,0);

printf(

"%d\n

",min(f[1][0],f[1][1

]));

return0;

}

洛谷 P2016 戰略遊戲

題目描述 bob喜歡玩電腦遊戲,特別是戰略遊戲。但是他經常無法找到快速玩過遊戲的辦法。現在他有個問題。他要建立乙個古城堡,城堡中的路形成一棵樹。他要在這棵樹的結點上放置最少數目的士兵,使得這些士兵能瞭望到所有的路。注意,某個士兵在乙個結點上時,與該結點相連的所有邊將都可以被瞭望到。請你編一程式,給定...

洛谷p2016戰略遊戲

題目大意 bob喜歡玩電腦遊戲,特別是戰略遊戲。但是他經常無法找到快速玩過遊戲的辦法。現在他有個問題。他要建立乙個古城堡,城堡中的路形成一棵樹。他要在這棵樹的結點上放置最少數目的士兵,使得這些士兵能瞭望到所有的路。注意,某個士兵在乙個結點上時,與該結點相連的所有邊將都可以被瞭望到。請你編一程式,給定...

洛谷P2016 戰略遊戲

bob喜歡玩電腦遊戲,特別是戰略遊戲。但是他經常無法找到快速玩過遊戲的辦法。現在他有個問題。他要建立乙個古城堡,城堡中的路形成一棵樹。他要在這棵樹的結點上放置最少數目的士兵,使得這些士兵能瞭望到所有的路。注意,某個士兵在乙個結點上時,與該結點相連的所有邊將都可以被瞭望到。請你編一程式,給定一樹,幫b...