题目
又来了……

题目大意:给你一个最小生成树,让你扩充为满足条件的完全图。
大概思路:
开局输入边,要排序,保证每两个点之间的距离都是最小的。
依次枚举所有边,当前边一定是所连接着的两个联通块之间的最短距离。
于是加上(sum[a] * sum[b] - 1) * (w[i] + 1)``sum代表当前连通块的点数.

#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N = 7000;
typedef long long ll;
int p[N], sum[N], n, t;
ll ans;
struct E { int a, b, w; }e[N];
bool operator < (E a, E b) {return a.w < b.w;}
int fa(int x) { if(x != p[x]) return p[x] = fa(p[x]); return x;
}
void kru() {for(int i = 1; i < n; i ++) {int u = fa(e[i].a), v = fa(e[i].b);ans += (ll)(sum[u] * sum[v] - 1) * (e[i].w + 1);p[u] = v;sum[v] += sum[u];}
}
int main() {cin >> t;while(t --) {cin >> n;for(int i = 1; i < n; i ++) scanf("%d%d%d", &e[i].a, &e[i].b, &e[i].w);sort(e, e + n);for(int i = 1; i <= n; i ++) p[i] = i, sum[i] = 1;ans = 0; kru();cout << ans << endl;}return 0;
}

[题]走廊泼水节——#最小生成树kru相关推荐

  1. Contest Hunter CH6201 走廊泼水节 最小生成树 Kruskal

    $ \rightarrow $ 戳我进CH原题 走廊泼水节 0x60「图论」例题 总时限10 s $ \quad $ 总内存256 MiB 描述 [简化版题意]给定一棵N个节点的树,要求增加若干条边, ...

  2. CH - 6201 走廊泼水节(最小生成树,水题)

    题目链接:点击查看 题目大意:给定一棵N个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树(增加的边权必须大于最小生成树上这两个点的边权),求增加的边的边权总和的 ...

  3. Acwing 346.走廊泼水节(最小生成树)

    Acwing 346.走廊泼水节 题意 给定一棵 N 个节点的树,要求增加若干条边,把这棵树扩充为完全图,并满足图的唯一最小生成树仍然是这棵树. 求增加的边的权值总和最小是多少. 注意: 树中的所有边 ...

  4. 走廊泼水节(最小生成树求最小完全图)

    传送门:走廊泼水节 思路:在求最小生成树的过程中会有很多连通块,合并每一个连通块时同时也要将两个连通块连成一个完全图,合并联通块的w是最长的一条边,也要保证是完全图求最小生成树时不变的一条边,所以额外 ...

  5. AcWing346.走廊泼水节

    刷题之路-图论 AcWing346.走廊泼水节 传送门 题目描述 做题思路及代码 /* 将树中的所有边按权值升序排序,依次扫描, 例如取出边(u,v,w),已经和u相连的点都需要和已经和v相连的点连线 ...

  6. 牛客刷题之图论-最小生成树

    题目集链接 目录 1.黑暗城堡 2.北极通讯网络 3.新的开始 4.构造完全图 5.秘密的牛奶运输 6.Tree 7.最小生成树计数 8.次小生成树 1.黑暗城堡 先求出最小生成树的每个边权,然后枚举 ...

  7. tyvj 1391 走廊泼水节【最小生成树】By cellur925

    题目传送门 题意简化:给你一棵树,要求你加边使它成为完全图(任意两点间均有一边相连) ,满足原来的树是这个图的最小生成树.求加边的价值最小是多少. 考虑Kruskal的过程,我们每次找一条最短的,两边 ...

  8. 上海交大机试真题—最短路径(最小生成树解法)

    题目描述 N个城市,标号从0到N-1,M条道路,第K条道路(K从0开始)的长度为2^K,求编号为0的城市到其他城市的最短距离 输入描述: 第一行两个正整数N(2<=N<=100)M(M&l ...

  9. TYVJ 1391 走廊泼水节

    描述 我们一共有N个OIER打算参加这个泼水节,同时很凑巧的是正好有N个水龙头(至于为什么,我不解释).N个水龙头之间正好有N-1条小道,并且每个水龙头都可以经过小道到达其他水龙头(这是一棵树,你应该 ...

  10. CH 6201 走廊泼水节

    玄学之门 题目: 分析: 代码: 题目: 传送门 分析: 类似kruskalkruskalkruskal算法的过程,对于一条边,如果它们的两个点属于两个不同的集合,那么这些集合间都要连边,为保证最小生 ...

最新文章

  1. 关于直流电源纹波和噪声的测量的分析和介绍
  2. FreeBSD和Linux如何互相访问文件系统
  3. python flask 路由_python框架之Flask(2)-路由和视图Session
  4. ASIHTTP 框架,同步、 异步请求、 上传 、 下载
  5. jvm(2)-JVM内存的设置(解决eclipse下out of memory问题)
  6. ucosii 如何确定定时器的时间_全国中小学寒假时间确定,家长如何安排孩子们假期更合理?...
  7. CB Insight公布32家全球AI独角兽,中国10家入围
  8. 原生JS实现简易转盘抽奖
  9. 《构建之法》阅读笔记03
  10. 边学边写,琐碎记载oracle
  11. 联想服务器修改ip地址,联想 lenove 3750 M4服务器更改启动项和管理口IP
  12. 赢在微创新_小米用互联网颠覆中国市场的内幕与方法
  13. 鲁班学艺 ---学三个月的,手艺扎根在眼里;学三年的,手艺扎根在心里
  14. VPS、云服务器(云主机)和虚拟主机有何异同?
  15. VUE发送POST请求自动附带本地地址
  16. 手游联运平台:游戏详情页介绍
  17. 《在路上 …》 金山卫士开源 , 人生很多感慨
  18. python中time什么意思_python中time包是什么?
  19. Html和Xml中注释符
  20. Fairplay之streamingContentKeyRequestDataForApp makeStreamingContentKeyRequestDataForApp

热门文章

  1. Gartner到底怎么回事?
  2. 2019华为软件精英挑战赛总结篇
  3. 创业感悟:对未来越有信心,对现在就越有耐心
  4. mysql登陆案例_Mysql用户登陆验证过程 案例
  5. 做到这一点,帮你每年多赚10万!
  6. 绘制scara机器人工作空间
  7. 解决阿里云不能使用yum问题
  8. MySQL从入门到精通之sql语言---(9月2日更新)
  9. Fbank特征与MFCC特征解析
  10. WARNING: The converted filename is an ASM fully qualified filename.