题目链接:Here

树形DP 算法讲解:Here

无向联通图其实就是树的形状,其次让我们以 s 为根使得所有的叶子节点不能到达根并且让删去边权的总和最小,那么就是典型的 树形DP 了。

\(dp_i\) 代表以节点 \(i\) 为根节点而其子树内的根节点无法达到根节点的最小代价,\(dp_i = min(dp_i,w_{i\dots_j})\)

using ll    = long long;
const int N = 1e5 + 10;
vector<pair<int, int>> v[N];
ll n, m, s, dp[N];
void dfs(ll u, ll fa) {
ll w = 0;
bool flag = false;
for (auto i : v[u]) {
ll v = i.first, s = i.second;
if (v == fa) continue;
flag = true;
dfs(v, u);
w += min(dp[v], s);
}
if (flag) dp[u] = w;
}
void solve() {
cin >> n >> m >> s;
memset(dp, 0x3f, sizeof(dp));
for (int i = 0; i < m; ++i) {
ll a, b, c;
cin >> a >> b >> c;
v[a].push_back({b, c}), v[b].push_back({a, c});
}
dfs(s, 0);
cout << dp[s] << "\n";
}

【每日一题】6.Rinne Loves Edges (树形DP)的更多相关文章

  1. Nowcoder contest 370F Rinne Loves Edges (简单树形DP) || 【最大流】(模板)

    <题目链接> 题目大意: 一个 $n$ 个节点 $m$ 条边的无向连通图,每条边有一个边权 $w_i$.现在她想玩一个游戏:选取一个 “重要点” S,然后选择性删除一些边,使得原图中所有除 ...

  2. HDU5647 DZY Loves Connecting 树形DP

    (先奉上jcvb大神的官方题解)BC 76 div 1 1002 对于每个结点i,统计出f[i]表示包含i的连通集有多少个,那么容易看出答案就是所有f[i]的和. 要计算f[i]是经典的树形DP问题. ...

  3. 牛客小白月赛11 Rinne Loves Edges

    题库链接:https://ac.nowcoder.com/acm/contest/370/F code: #include<bits/stdc++.h> using namespace s ...

  4. 刷题总结——Tree2cycle(hdu4714 树形dp)

    题目: A tree with N nodes and N-1 edges is given. To connect or disconnect one edge, we need 1 unit of ...

  5. CCPC-Wannafly Winter Camp Day8 (Div2, onsite) A 题 Aqours (精巧的树形DP)

    题目链接: https://www.cometoj.com/contest/29/problem/A?problem_id=414 Aqours 题目描述 Aqours 正在 LoveLive! 决赛 ...

  6. HDU 5647 DZY Loves Connecting 树形dp

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5647 题解: 令dp[u][0]表示u所在的子树中所有的包含i的集合数,设u的儿子为vi,则易知dp ...

  7. 刷题总结——选课(ssoj树形dp+记忆化搜索+多叉树转二叉树)

    题目: 题目描述 学校实行学分制.每门的必修课都有固定的学分,同时还必须获得相应的选修课程学分.学校开设了 N(N<300)门的选修课程,每个学生可选课程的数量 M 是给定的.学生选修了这M门课 ...

  8. 【动态规划】树形DP完全详解!

    蒟蒻大佬时隔三个月更新了!!拍手拍手 而且是更新了几篇关于DP的文章(RioTian狂喜) 现在赶紧学习和复习一下树形DP.... 树形DP基础:Here,CF上部分树形DP练习题:Here \[QA ...

  9. 牛客算法进阶——树形dp

    1. 小G有一个大树(求树的重心) 删除该点后最大连通块的节点数最小 设f[x]表示以x为根的子树大小,那么删除x之后的各子树大小为f[to]和n-f[x] 求max(max(f[to]),n-f[x ...

  10. HDU2196 Computer(树形DP)

    和LightOJ1257一样,之前我用了树分治写了.其实原来这题是道经典的树形DP,感觉这个DP不简单.. dp[0][u]表示以u为根的子树中的结点与u的最远距离 dp[1][u]表示以u为根的子树 ...

随机推荐

  1. Proj4:改进LiteOS中物理内存分配算法

    Proj4:改进LiteOS中物理内存分配算法 实验目的 掌握LiteOS系统调用的自定义方法 实验环境 Ubantu和IMX6ULL mini 实验内容 (从代码角度详细描述实验的步骤和过程) 原先 ...

  2. Python接口自动化项目----Anan

    优点 本效果展示仅是整体样式功能,更详细的使用方法和优点,需要参考使用手册. 整体的优点包括: 1.测试接口的统一管理 2.支持多环境 3.测试报告展示 4.定时任务 5.支持代码驱动 6.便捷的交互 ...

  3. 银河麒麟V10(飞腾ARM CPU)安装KVM踩坑记

    服务器配置信息 品牌:GreetWall CPU:飞腾FT-2000+/64 64bit 操作系统:Linux-4.19.90-24.4.v2101.ky10.aarch64-with-kylin-1 ...

  4. jvm总结图解

    浅析jvm  内存模型 https://www.cnblogs.com/lewis0077/p/5143268.html

  5. UMP系统概述

    突出性能: 1.低成本,高性能    2.开源数据库 UMP在设计时要实现一下原则: 多租户:

  6. 【C#】【串口通信(Serial Port)】【实例】建议串口调试WinForm桌面应用实例——已实现功能<存在未知BUG>

    1.界面组件 2.界面实现代码 1 namespace WinFormsApp1 2 { 3 partial class Form1 4 { 5 /// <summary> 6 /// R ...

  7. ElasticSearch之Index stats API

    获取指定索引的统计数据. 获取指定索引的全部统计数据,命令样例如下: curl -X GET "https://localhost:9200/testindex_001/_stats?pre ...

  8. Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍

    前言   FPGA作为一种逻辑芯片,硬件架构独特,具有并行性.低延时性和灵活性等特性,应用领域广泛.  FPGA市场主要玩家是英特尔.AMD.莱迪思.Microchip.Achronix等:国内厂商包 ...

  9. java常用正则表达式工具

    public class RegexUtils { /** * 是否是无效手机格式 * @param phone 要校验的手机号 * @return true:符合,false:不符合 */ publ ...

  10. 数仓实践丨主动预防-DWS关键工具安装确认

    摘要:gdb确认是否安装,所带来的该工具用户数据库实例触发core问题后集群状态反复异常,对此问题及时分析根因并及时进行规避. 本文分享自华为云社区<主动预防-DWS关键工具安装确认>,作 ...