SAC E 1 一道難題 Tree

2022-05-11 11:34:51 字數 1387 閱讀 3656

冴月麟和魏瀟承是好朋友。

冴月麟為了守護幻想鄉,而製造了幻想鄉的倒影,將真實的幻想鄉封印了。任何人都無法進入真實的幻想鄉了,但是她給前來救她的魏瀟承留了乙個線索。

她設定了一棵樹(有根)。樹的每一條邊上具有割掉該邊的代價。

魏瀟承需要計算出割開這棵樹的最小代價,這就是冴月麟和魏瀟承約定的小秘密。

幫幫魏瀟承吧。

注:所謂割開一棵有根樹,就是刪除若干條邊,使得任何任何葉子節點和根節點不連通。

輸入格式:

輸入第一行兩個整數n,s表示樹的節點個數和根。

接下來n-1行每行三個整數a、b、c,表示a、b之間有一條代價為c的邊。

輸出格式:

輸出包含一行,乙個整數,表示所求最小代價。

輸入樣例#1:

4 1

1 2 1

1 3 1

1 4 1

輸出樣例#1:

3

輸入樣例#2:

4 1

1 2 3

2 3 1

3 4 2

輸出樣例#2:

1

對於20%的資料,n <= 10

對於50%的資料,n <= 1000

對於100%的資料,n <= 100000

樹形dp

令f[x]為切斷x與其葉子節點的最小費用

令v=son(x)

如果切割該邊的費用小於f[v],那麼切這條邊就行了

1 #include2 #include3 #include4 #include5

using

namespace

std;

6struct

node

7edge[200001

];10

int num,head[100001],f[100001

],n,root,ans;

11void add(int u,int v,int

dis)

1219

void dfs(int x,int

pa)20 29}

30if (f[x]==0) f[x]=2e9;31}

32int

main()

33 41 dfs(root,0

);42 ans=f[root];

43 cout<44 }

SAC E 1 一道難題 Tree(樹形DP)

冴月麟和魏瀟承是好朋友。冴月麟為了守護幻想鄉,而製造了幻想鄉的倒影,將真實的幻想鄉封印了。任何人都無法進入真實的幻想鄉了,但是她給前來救她的魏瀟承留了乙個線索。她設定了一棵樹 有根 樹的每一條邊上具有割掉該邊的代價。魏瀟承需要計算出割開這棵樹的最小代價,這就是冴月麟和魏瀟承約定的小秘密。幫幫魏瀟承吧...

P3931 SAC E 1 一道難題 Tree

題目描述 冴月麟為了守護幻想鄉,而製造了幻想鄉的倒影,將真實的幻想鄉封印了。任何人都無法進入真實的幻想鄉了,但是她給前來救她的魏瀟承留了乙個線索。她設定了一棵樹 有根 樹的每一條邊上具有割掉該邊的代價。魏瀟承需要計算出割開這棵樹的最小代價,這就是冴月麟和魏瀟承約定的小秘密。幫幫魏瀟承吧。注 所謂割開...

SAC E 1 一道中檔題 Factorial

sol君 爐石主播 和sol菌 完美資訊教室講師 是好朋友。sol君很喜歡階乘。而sol菌很喜歡研究進製。這一天,sol君跟sol菌炫技,隨口算出了n的階乘。sol菌表示不服,立刻就要算這個數在k進製表示下末尾0的個數。但是sol菌太菜了於是請你幫忙。輸入格式 每組輸入僅包含一行 兩個整數n,k。輸...