news 2026/6/15 21:48:32

k算法最小生成树的最优化,例题PTA:毁灭

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
k算法最小生成树的最优化,例题PTA:毁灭

题目链接

校内链接:7-10 毁灭 - 测试模拟1,没有的依然可以看题目图片,在下面

题目

图解

parent数组进行set查找的路径压缩,cnt数组原理判断更少的set集合来更新新集合的parent

其他地方,排序依旧是堆排序,用优先队列,定义一个struct edge并重载 < 符号就好了

我们接下来只图解整个parent数组和cnt数组怎么使用

其实这里我们加一个判定,每回在对cnt进行操作的时候判断cnt的大小是否等于N就可以判断是否成功生成了最小生成树

这里我们例题是一个小变种我们要计算所有不在最小生成树的边的路径大小总和

代码

#include<iostream> #include<queue> using namespace std; const int N=2e5+5; int fa[N]; int cnt[N]; struct edge{ int u; int v; long long len; edge(int U=0,int V=0,int Len=0):u(U),v(V),len(Len){}; bool operator <(const edge& y)const{ return len>y.len; }; }; int findfa(int x) { if(fa[x]==x) return x; return findfa(fa[x]); } int main() { int n,m; long long sum;sum=0; priority_queue<edge>queue1; cin>>n>>m; for(int i=1;i<=n;i++) fa[i]=i,cnt[i]++; for(int i=0;i<m;i++) { int u,v,len; cin>>u>>v>>len; queue1.push(edge(u,v,len)); } while(!queue1.empty()) { edge ed=queue1.top(); queue1.pop(); int u=ed.u,v=ed.v,len=ed.len; int fau=findfa(u),fav=findfa(v); if(fau!=fav) { if(cnt[fav]>cnt[fau]) { fa[fau]=fa[fav]; cnt[fav]+=cnt[fau]; } else { fa[fav]=fa[fau]; cnt[fau]+=cnt[fav]; } } else if(len>0) sum+=len; } cout<<sum; }

结果

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 19:17:46

EmotiVoice语音合成上下文记忆能力初探:保持情感连贯性

EmotiVoice语音合成上下文记忆能力初探&#xff1a;保持情感连贯性 在虚拟助手逐渐从“能说话”迈向“会共情”的今天&#xff0c;一个核心问题浮出水面&#xff1a;如何让机器生成的语音不只是字面意义的朗读&#xff0c;而是带有情绪起伏、语气延续甚至人格特质的自然表达&am…

作者头像 李华
网站建设 2026/6/15 14:09:46

EmotiVoice在智慧家庭中的应用场景构想

EmotiVoice在智慧家庭中的应用场景构想 当孩子睡前蜷缩在被窝里&#xff0c;轻声说“妈妈&#xff0c;再讲一遍《小熊维尼》吧”&#xff0c;而智能音箱用熟悉的声音温柔回应——那语气里的笑意、停顿和关切&#xff0c;仿佛真的来自母亲的怀抱。这不是科幻电影的情节&#xff…

作者头像 李华
网站建设 2026/6/15 1:35:51

vs2022+Qt插件初体验,创建带 UI 界面的 Qt 项目

前提&#xff1a;确认环境就绪&#xff08;我的环境&#xff09;Qt VS Tools 已配置好 Qt 版本&#xff08;如 Qt 6.8.3 MSVC2022 64-bit&#xff09;&#xff1b;VS2022 解决方案平台设为 x64&#xff0c;与 Qt 版本架构匹配。步骤 1&#xff1a;创建带 UI 界面的 Qt 项目打开…

作者头像 李华
网站建设 2026/6/15 15:34:23

EmotiVoice在政务播报系统中的合规性适配

EmotiVoice在政务播报系统中的合规性适配 在城市应急广播中&#xff0c;一条语气轻佻的台风预警可能引发公众质疑&#xff1b;在政策解读场景里&#xff0c;冷漠机械的语音播报容易削弱政府公信力。当AI语音开始承担信息权威发布的职责时&#xff0c;技术不仅要“说清楚”&…

作者头像 李华
网站建设 2026/6/15 19:28:19

AI工程决策终极指南:从技术路线选择到落地实施的战略框架

AI工程决策终极指南&#xff1a;从技术路线选择到落地实施的战略框架 【免费下载链接】aie-book [WIP] Resources for AI engineers. Also contains supporting materials for the book AI Engineering (Chip Huyen, 2025) 项目地址: https://gitcode.com/GitHub_Trending/ai…

作者头像 李华
网站建设 2026/6/4 12:35:23

Inter字体快速上手:免费开源字体完整使用指南

Inter字体快速上手&#xff1a;免费开源字体完整使用指南 【免费下载链接】inter The Inter font family 项目地址: https://gitcode.com/gh_mirrors/in/inter 在当今数字化的时代&#xff0c;字体选择对于任何项目都至关重要。Inter字体作为一个专门为屏幕显示设计的开…

作者头像 李华