当前位置: 首页 > news >正文

Rinne Loves Edges【牛客tracker 每日一题】

Rinne Loves Edges

时间限制:1秒 空间限制:128M

知识点:思维题

网页链接

牛客tracker

牛客tracker & 每日一题,完成每日打卡,即可获得牛币。获得相应数量的牛币,能在【牛币兑换中心】,换取相应奖品!助力每日有题做,丰盈牛币日益多!

题目描述

R i n n e RinneRinne最近了解了如何快速维护可支持插入边删除边的图,并且高效的回答一下奇妙的询问。

她现在拿到了一个n nn个节点m mm条边的无向连通图,每条边有一个边权w i w_iwi

现在她想玩一个游戏:选取一个 “重要点”S SS,然后选择性删除一些边,使得原图中所有除S SS之外度为1 11的点都不能到达S SS

定义删除一条边的代价为这条边的边权,现在R i n n e RinneRinne想知道完成这个游戏的最小的代价,这样她就能轻松到达r k 1 rk1rk1了!作为回报,她会让你的排名上升一定的数量。

输入描述:

第一行三个整数N , M , S N,M,SN,M,S,意义如「题目描述」所述。

接下来M MM行,每行三个整数u , v , w u,v,wu,v,w代表点u uu到点v vv之间有一条长度为w ww的无向边。

输出描述:

一个整数表示答案。

示例1

输入:

4 3 1 1 2 1 1 3 1 1 4 1

输出:

3

说明:

需要使得点2 , 3 , 4 2,3,42,3,4不能到达点1 11,显然只能删除所有的边,答案为3 33

示例2

输入:

4 3 1 1 2 3 2 3 1 3 4 2

输出:

1

说明:

需要使得点4 44不能到达点1 11,显然删除边2 ↔ 3 2↔323是最优的。

备注:

2 ≤ S ≤ N ≤ 10 5 , M = N − 1 2≤S≤N≤10^5,M=N−12SN105,M=N1,保证答案在C + + l o n g l o n g C++ \ long \ longC++longlong范围内。

解题思路

本题核心是通过树形DP+DFS求解最小删除代价,因题目中M = N − 1 M=N-1M=N1且图连通,本质为以S SS为根的树:首先明确目标是切断所有叶子节点(度为1 11且非S SS)到S SS的路径,最小化删除边的代价;定义d p [ x ] dp[x]dp[x]为切断以x xx为根的子树中所有叶子节点到x xx路径的最小代价。D F S DFSDFS遍历树时,若x xx是叶子节点(非S SS),则d p [ x ] dp[x]dp[x]设为无穷大(必须删除连接它的边);否则对每个子节点v vvd p [ x ] dp[x]dp[x]累加m i n ( d p [ v ] , w ) min(dp[v], w)min(dp[v],w)(选择切断子树内部路径或直接删除x − v x-vxv边的较小代价)。最终d p [ S ] dp[S]dp[S]即为切断所有叶子到S SS路径的最小代价。该方法时间复杂度O ( N ) O(N)O(N),适配N ≤ 1 e 5 N≤1e5N1e5的规模,通过树形D P DPDP精准计算最优删除策略的代价。

总结

  1. 核心逻辑:将问题转化为树形D P DPDP,每个节点选择切断子树内部或删除当前边的最小代价。
  2. 关键操作:D F S DFSDFS遍历树,叶子节点设为无穷大,非叶子节点累加子节点的最小代价。
  3. 结果输出:根节点S SSd p dpdp值即为切断所有叶子路径的最小删除代价。

代码内容

#include<bits/stdc++.h>usingnamespacestd;typedeflonglongll;typedefunsignedlonglongull;typedefvector<vector<ll>>vt;typedefpair<ll,ll>pll;constll N=1e5+10;constll p=1e4+7;constll INF=1e18;vector<pll>d[N];ll dp[N],vis[N];voiddfs(ll x){vis[x]=1;ll op=1;dp[x]=0;for(auto&e:d[x]){ll v=e.first;ll w=e.second;if(!vis[v]){op=0;dfs(v);dp[x]+=min(dp[v],w);}}if(op)dp[x]=INF;}intmain(){ll n,m,s;cin>>n>>m>>s;while(m--){ll u,v,w;cin>>u>>v>>w;d[u].emplace_back(v,w);d[v].emplace_back(u,w);}dfs(s);cout<<dp[s]<<endl;return0;}
http://www.jsqmd.com/news/449801/

相关文章:

  • 【架构实战】政企大模型落地的“安全红线”:深度拆解实在智能私有化部署与本地 Agent 护城河
  • 【光学】基于matlab微环谐振腔的高阶全光学微分方程求解器仿真(含报告)【含Matlab源码 15107期】
  • 收藏 | 小白/程序员必看:轻松理解AI Agent,开启大模型学习之旅!
  • AI时代下企业数智化转型的思考与实践之1-2数字世界的构建
  • 2026 年 3 月聚焦:智推时代 GEO 服务成企业增长首选伙伴
  • 常见字符串函数的使用和模拟使用
  • 2026 年 3 月大连 AI 优化公司推荐 TOP5:技术深度落地应用,环渤海企业增长选型指南
  • 洞鉴软件部署(Summary)
  • 模型压缩:剪枝
  • 网络安全行业300万人才缺口揭秘:零基础也能入行,资深工程师年薪高达150万!
  • 警惕!申博90%的坑,都藏在“低价辅导”里|申博有术教你避坑
  • Qwen3-ASR-0.6B与计算机网络:分布式语音识别系统设计
  • 22年一区Applied Energy独家复现] ‘基于合作博弈模型的多微网间日前研究:实现区...
  • 100吨四柱液压机(全套共86份CAD图纸+使用说明书)
  • 2026选购橡胶辊加工厂,哪家有创新能力且经验丰富、性价比好 - 工业设备
  • AI发展这么快,会不会替代人类的工作?从历史周期到行业现状的深度思考
  • 线程池 ThreadPoolExecutor:Java并发的智能生产线调度系统
  • 网络安全行业现状解析:未来趋势如何?入行是否仍具潜力?
  • 异步沟通术:让全球团队无缝协作——软件测试从业者的专业指南
  • 太原洗浴设计好用机构
  • 2026专业的空气加热器推荐,江苏好用品牌费用多少 - mypinpai
  • 当AI学会“动手“的那一天:2026年3月,科技圈发生了什么?
  • 伦理实战:癌症AI生存概率算法的测试困境与技术破局
  • AI智能体入门指南:从小白到实战收藏,解锁数字员工新机遇!
  • 关键词:分布鲁棒;复现;电气综合能源系统;分布鲁棒机会约束(DRCC);ADMM分布式算法:非...
  • 基于卷积神经网络结合最小二乘支持向量机(CNN-LSSVM)的多输出数据回归预测 CNN-LS...
  • 探讨北京海淀办公空间租赁,弘源首著大厦出租费用怎么算 - 工业推荐榜
  • Java 企业如何平稳落地 AI:从老系统改造到大模型接入的
  • 【月球】卡尔曼滤波器月球陨石坑导航【含Matlab源码 15108期】
  • 基于 python+AI-vue的萨默旅游公司网站设计