洛谷P1272 重建道路 樹形dp

2021-09-25 03:59:15 字數 632 閱讀 6561

f[ i ][ j ] 表示 i 為根節點擊擇 j 個點要去掉的最小邊數。

一開始初始化所有邊都去掉,只剩下本身乙個點,值等於度數,根據是否為根結點加減一。

然後dp時-1是應為要加上 u 到 v 的一條邊,dp表示要去掉的邊,則要去掉的一條邊則減一 

//洛谷p1272 重建道路

//樹形dp

#include using namespace std;

const int maxn = 155;

struct ned[maxn<<2];

int dp[maxn][maxn],du[maxn];

int head[maxn],cnt,n,p,ans=0x7ffffff;

void add(int u,int v)

void dfs(int u,int fa)

} } ans = min(ans,dp[u][p]+(fa!=0)); //不是根結點 還要去掉父結點和自己的連線

}int main()

memset(dp,0x3f,sizeof(dp));

dfs(1,0);

printf("%d",ans);

return 0;

}

洛谷 P1272 重建道路

題目描述 一場可怕的 後,人們用n個牲口棚 1 n 150,編號1.n 重建了農夫john的牧場。由於人們沒有時間建設多餘的道路,所以現在從乙個牲口棚到另乙個牲口棚的道路是惟一的。因此,牧場運輸系統可以被構建成一棵樹。john想要知道另一次 會造成多嚴重的破壞。有些道路一旦被毀壞,就會使一棵含有p ...

洛谷 P1272 重建道路

題目描述 一場可怕的 後,人們用n個牲口棚 1 n 150,編號1.n 重建了農夫john的牧場。由於人們沒有時間建設多餘的道路,所以現在從乙個牲口棚到另乙個牲口棚的道路是惟一的。因此,牧場運輸系統可以被構建成一棵樹。john想要知道另一次 會造成多嚴重的破壞。有些道路一旦被毀壞,就會使一棵含有p ...

洛谷P1272 重建道路

一場可怕的 後,人們用n個牲口棚 1 n 150,編號1.n 重建了農夫john的牧場。由於人們沒有時間建設多餘的道路,所以現在從乙個牲口棚到另乙個牲口棚的道路是惟一的。因此,牧場運輸系統可以被構建成一棵樹。john想要知道另一次 會造成多嚴重的破壞。有些道路一旦被毀壞,就會使一棵含有p 1 p n...