LOJ10067 构造完全图
最小生成树
每次找到最小的边,将边两端的块合并
(我之前想的是什么鬼)
#include<cstdio>
#include<algorithm>
using namespace std;
struct data{int f,t,d;}a[];
int n,fa[],siz[]; long long ans;
inline bool cmp(const data &A,const data &B) {return A.d<B.d;}
inline int find(int x) {return x==fa[x] ? x:fa[x]=find(fa[x]);}
int main(){
scanf("%d",&n);
for(int i=;i<n;++i){
scanf("%d%d%d",&a[i].f,&a[i].t,&a[i].d);
ans+=a[i].d; fa[i]=i; siz[i]=;
}fa[n]=n; siz[n]=;
sort(a+,a+n,cmp); //按边排序
for(int i=;i<n;++i){
int r1=find(a[i].f),r2=find(a[i].t);
ans+=1LL*(siz[r1]*siz[r2]-)*(a[i].d+); //每2个不同块的点都连起来
fa[r2]=r1; siz[r1]+=siz[r2]; //合并
}
printf("%lld",ans);
return ;
}
LOJ10067 构造完全图的更多相关文章
- loj#10067 构造完全图(最小生成树)
题目 loj#10067 构造完全图 解析 和kruscal类似,我们要构造一个完全图,考虑往这颗最小生成树里加边 我们先把每一条边存下来, 把两个端点分别放在不同的集合内,记录每个集合的大小,然后做 ...
- LOJ10067
LOJ10067 构造完全图 给你一棵树 T,找出 T 能扩展出的边权和最小的完全图 G. 第一行 N 表示树 T 的点数: 保证输入数据构成一棵树. 输出仅一个数,表示最小的完全图 G 的边权和. ...
- python数据结构与算法——图的基本实现及迭代器
本文参考自<复杂性思考>一书的第二章,并给出这一章节里我的习题解答. (这书不到120页纸,要卖50块!!,一开始以为很厚的样子,拿回来一看,尼玛.....代码很少,给点提示,然后让读者自 ...
- 洛谷P1755 攻击火星
题目描述 一群外星人将要攻击火星. 火星的地图是一个n个点的无向图.这伙外星人将按照如下方法入侵,先攻击度为0的点(相当于从图中删除掉它),然后是度为1的点,依此类推直到度为n-1的点. 所有的点度统 ...
- <Think Complexity> 用字典实现图
今天在图书馆闲逛的时候偶然看见<Think Complexity>(复杂性思考)这本书,下午看了一会儿觉得很有意思.本书第二章讲的是用Python实现的图,特别写篇博客记录. 首先,图 ...
- loj题目总览
--DavidJing提供技术支持 现将今年7月份之前必须刷完的题目列举 完成度[23/34] [178/250] 第 1 章 贪心算法 √ [11/11] #10000 「一本通 1.1 例 1」活 ...
- CSU训练分类
√√第一部分 基础算法(#10023 除外) 第 1 章 贪心算法 √√#10000 「一本通 1.1 例 1」活动安排 √√#10001 「一本通 1.1 例 2」种树 √√#10002 「一本通 ...
- CF553C Love Triangles
题目链接 题意:给定n个点,给出一些边权为0/1的边,构造完全图,满足对于任何一个三元环,三条边权和为奇.求符合条件的完全图数量,对\(1e9+7\)取模. 分析:其实原题给定的边权是love/hat ...
- 洛谷——P1416 攻击火星
P1416 攻击火星 题目描述 一群外星人将要攻击火星. 火星的地图是一个n个点的无向图.这伙外星人将按照如下方法入侵,先攻击度为0的点(相当于从图中删除掉它),然后是度为1的点,依此类推直到度为n- ...
随机推荐
- 反正切函数atan与atan2的区别
atan 和 atan2 都是求反正切函数,如:有两个点 point(x1,y1), 和 point(x2,y2); 那么这两个点形成的斜率的角度计算方法分别是: float angle = atan ...
- Ubuntu 下 kdevelop下 怎么向主函数传递参数
1.打开工程 2.点击窗口上的运行”--“配置启动器” 3.左栏选择要传递参数的工程名,在参数一栏中,输入参数“ubuntu.png”,再输入“工作目录”.点击OK,运行就可以了.
- Ubuntu:如何显示系统托盘图标(systray)
1. 问题说明 Ubuntu 11版本开始,默认关闭了托盘图标的显示,需要手动执行命令或额外工具配置,添加到白名单.Ubuntu 13.04更彻底,默认配置根本没有托盘图标,除了java和wine等几 ...
- linux:查找搜索文件
学习内容来源: 实验楼链接: https://www.shiyanlou.com/ 与搜索相关的命令常用的有 whereis,which,find 和 locate . whereis 简单快速 $w ...
- FMOD变声如何捕获并存储处理音效之后的数据
类似AVAudioEngine的功能,一个Engine可以将N个connect连接(串联和并联)在一起,这样来实现多个输入源,多层处理效果的混合输出.实现这个所需功能也是通过这样的方案来实现的.也就是 ...
- Django实现微电影网站
主要实现功能: 注册,登陆,播放视频,评论视频,xadmin实现后台提供视频管理,权限管理等等 首页(搜索,筛选) 搜索页面 播放页面 个人中心 后台 源码下载 环境配置:python2.7 pip ...
- 隐马尔可夫(HMM)
https://www.zhihu.com/question/20962240 作者:Yang Eninala链接:https://www.zhihu.com/question/20962240/an ...
- 完美解决onchange不能实时的监听
我们大家都知道onchange有时候很不好用,因为onchange事件是离开焦点后才会被触发,而不是实时去监听! 那么oninput()事件和onpropertychange()完美的解决了问题:(o ...
- Win10系统 Eclipse 下'Publishing to Tomcat'has encountered a problem解决办法
首先贴出来错误: 详情为:Publishing failedCould not publish to the server.There were issues during deployment to ...
- sql批量修改wordpress网站的文章发布状态
wordpress批量导入文章的时候,有些文章的状态可能会缺失,例如“mis scheduled”.draft.future等几种状态,如何用sql批量修改wordpress网站的文章发布状态呢? 点 ...