每日一题 4月1日 Rinne Loves Edges 树形DP

Rinne Loves Edges

https://ac.nowcoder.com/acm/problem/22598?&headNav=acm

图片说明
图片说明
图片说明

#include<bits/stdc++.h>
#define LL long long
using namespace std;

struct node{
    LL to, w;
};
vector<vector<node> > v(100005);
LL f[100005];

void dfs(int u, int fa){
    if(v[u].size()==1&&v[u][0].to==fa){
        f[u]=1ll<<60;
        return ;
    }
    for(auto x: v[u]){
        LL to=x.to, w=x.w;
        if(to!=fa){
            dfs(to, u);
            if(w<f[to]){
                f[to]=w;
            }
            f[u]+=f[to];
        }
    }
}

int main(){

    int n, m, s, x, y, z;
    scanf("%d%d%d", &n, &m, &s);
    for(int i=1; i<=m; i++){
        scanf("%d%d%d", &x, &y, &z);
        v[x].push_back(node{y, z});
        v[y].push_back(node{x, z});
    }
    dfs(s, 0);
    cout<<f[s]<<endl;

    return 0;
}
全部评论

相关推荐

LZHR:老哥你从投递简历测评完到一面中间隔了多久呀,我这边已经过了五天了仍显示简历筛选中是不是就是挂了
腾讯求职进展汇总
点赞 评论 收藏
分享
牛客52811839...:实习要写出来业务和产出,你这写的像流水账没人看。项目经历也没有,换个极简简历试试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务