博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【日常训练】数据中心(CSP 201812-4)
阅读量:4329 次
发布时间:2019-06-06

本文共 1220 字,大约阅读时间需要 4 分钟。

分析

题目实际上是在要在给定的边上构建出一个树,使得这个树的最长边尽可能小。

这实际上是最小生成树的性质(反证法)。问题从而得到解决。

代码

/* * Code name => csp201812-5.cc * Written by Sam X * Date: 三月, 12, 2019 * Time: 10:13 */#include 
#define fi first#define se second#define MP make_pair#define MS(x,y) memset(x, y, sizeof(x))#define ZERO(x) memset(x, 0, sizeof(x))#define rep(i,a,b) for(repType i=static_cast
(a); \ i<=static_cast
(b);++i)#define per(i,a,b) for(repType i=static_cast
(a); \ i>=static_cast
(b);--i)#define ALL(x) x.begin(), x.end()using repType=int;using ll=long long;using ld=long double;using namespace std;struct Edge{ int u,v,w; Edge(int _u, int _v, int _w): u(_u), v(_v), w(_w) {} bool operator < (const Edge& rhs) const { if(w!=rhs.w) return w
edges; int n, m, root; cin>>n>>m>>root; iota(fa+1, fa+n+1, 1); rep(i, 1, m) { int u,v,w; cin>>u>>v>>w; edges.push_back(Edge(u,v,w)); } sort(ALL(edges)); int ans=0; rep(i,0,edges.size()-1) { if(fd(edges[i].u)!=fd(edges[i].v)) { ans=max(ans, edges[i].w); ue(edges[i].u, edges[i].v); } } cout<
<

转载于:https://www.cnblogs.com/samhx/p/csp-201812-4.html

你可能感兴趣的文章
远程获得乐趣的 Linux 命令
查看>>
Celery Flower监控,完美搞定
查看>>
完美分页
查看>>
IE8/9 JQuery.Ajax 上传文件无效
查看>>
Uploadify--上传图片
查看>>
B. Inna and Nine
查看>>
建议性列表输入文本框
查看>>
RTSP 资料
查看>>
[转]uboot中SPL作用
查看>>
Excel VBA Range对象基本操作应用示例
查看>>
html5拖拽
查看>>
kerboros安装
查看>>
我的学习之路_第二十九章_bootstrap
查看>>
Python读取文件行数不对
查看>>
考研经验交流
查看>>
手游助手应用源码项目
查看>>
职场心得笔记
查看>>
Android context(Application/Activity)与内存泄露
查看>>
mysql 行转列
查看>>
jquery easyui 经验
查看>>