题目链接:https://www.luogu.org/problemnew/show/P2820

题目背景

某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象。因为连接计算机的网线本身不同,所以有一些连线不是很畅通,我们用f(i,j)表示i,j之间连接的畅通程度,f(i,j)值越小表示i,j之间连接越通畅,f(i,j)为0表示i,j之间无网线连接。

题目描述

需要解决回路问题,我们将除去一些连线,使得网络中没有回路,并且被除去网线的Σf(i,j)最大,请求出这个最大值。

输入输出格式

输入格式:

第一行两个正整数n k

接下来的k行每行三个正整数i j m表示i,j两台计算机之间有网线联通,通畅程度为m。

输出格式:

一个正整数,Σf(i,j)的最大值

输入输出样例

输入样例#1: 复制

5 5
1 2 8
1 3 1
1 5 3
2 4 5
3 4 2
输出样例#1: 复制

8

所有边数权值之和减去最小生成树
 #include <iostream>
#include <cstdio>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
int n,k,res;
struct edge
{
int u,v,cost;
}es[];
int par[];
void init()
{
for(int i=;i<;i++) par[i]=i;
}
int Find(int x)
{
if(par[x]==x) return x;
else return Find(par[x]);
}
int cmp(edge x,edge y)
{
return x.cost<y.cost;
}
int kruscal()
{
init();
sort(es,es+k,cmp);
res=;
for(int i=;i<k;i++){
edge e=es[i];
if(Find(e.u)==Find(e.v)) continue;
par[Find(e.u)]=Find(e.v);
res+=e.cost;
}
return res;
}
int main()
{
while(cin>>n>>k){
int sum=;
for(int i=;i<k;i++){
cin>>es[i].u>>es[i].v>>es[i].cost;
sum+=es[i].cost;
}
cout<<sum-kruscal()<<endl;
}
return ;
}

还是菜的一P,中了n的毒,不能放松警惕啊

 #include <iostream>
#include <algorithm>
using namespace std;
const int maxn=;
int n,k,cnt,res,sum;
struct edge
{
int u,v,w;
}es[maxn];
int cmp(edge x,edge y)
{
return x.w<y.w;
}
int par[maxn];
void init()
{
for(int i=;i<maxn;i++) par[i]=i;
}
int Find(int x)
{
if(par[x]==x) return x;
else return Find(par[x]);
}
int kruscal()
{
init();
sort(es,es+k,cmp);
res=;
cnt=n;
for(int i=;i<k;i++){
int u=es[i].u,v=es[i].v,w=es[i].w;
if(Find(u)==Find(v)) continue;
par[Find(u)]=Find(v);
res+=w;
if(--cnt==) break;
}
return res;
}
int main()
{
while(cin>>n>>k){
sum=;
for(int i=;i<k;i++){
cin>>es[i].u>>es[i].v>>es[i].w;
sum+=es[i].w;
}
cout<<sum-kruscal()<<endl;
}
return ;
}

洛谷P2820 局域网 (最小生成树)的更多相关文章

  1. 最小生成树 & 洛谷P3366【模板】最小生成树 & 洛谷P2820 局域网

    嗯... 理解生成树的概念: 在一幅图中将所有n个点连接起来的n-1条边所形成的树. 最小生成树: 边权之和最小的生成树. 最小瓶颈生成树: 对于带权图,最大权值最小的生成树. 如何操作? 1.Pri ...

  2. 洛谷——P2820 局域网

    P2820 局域网 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成 ...

  3. 洛谷 P2820 局域网

    题目链接 https://www.luogu.org/problemnew/show/P2820 题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内 ...

  4. 洛谷 P2820 局域网x

    题目背景 某个局域网内有n(n<=100)台计算机,由于搭建局域网时工作人员的疏忽,现在局域网内的连接形成了回路,我们知道如果局域网形成回路那么数据将不停的在回路内传输,造成网络卡的现象.因为连 ...

  5. 洛谷P2820 局域网

    #include<bits/stdc++.h> using namespace std; ; ; int n,k,sum,tot; struct node{ int cnt,fa; }f[ ...

  6. 洛谷U4807抽水机[最小生成树]

    题目背景 kkk被Farmer John和他的奶牛贝茜虐的很惨,然后她也想体验下一个Farmer的生活.但她又懒得种地,就选择养鱼. 题目描述 这些鱼都是热带鱼(废话),很娇贵(比kkk娇贵),要经常 ...

  7. 【洛谷】【最小生成树】P1195 口袋的天空

    [题目背景:] 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空. 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖. [题目描述:] 给你云朵的个数N,再给你M个关系,表示哪些 ...

  8. [洛谷P4208][JSOI2008]最小生成树计数

    题目大意:有$n$个点和$m$条边(最多有$10$条边边权相同),求最小生成树个数 题解:对于所有最小生成树,每种边权的边数是一样的.于是就可以求出每种边权在最小生成树中的个数,枚举这种边的边集,求出 ...

  9. 洛谷P4208 [JSOI2008]最小生成树计数——题解

    题目传送 前置知识:对于同一个图的所有最小生成树,权值相等的边的数量相同. 可以简单证明一下: 我们可以从kruskal的过程考虑.这个算法把所有边按权值大小从小到大排序,然后按顺序看每条边,只要加上 ...

随机推荐

  1. 误删除libc.so.6的解决

    最近安装一个软件需要glibc-2.17. 使用ldd --version 发现系统的glibc版本为 glibc-2.12,当时没有想到更好的方法,就尝试将系统的glibc版本修改为glibc-2. ...

  2. 局域网ARP攻击防护

    通过借助一些安全软件来实现局域网ARP检测及防御功能. A.电脑管家 电脑管家--工具箱--下载ARP防火墙模块 不支持window2003 B.服务器安全狗 Windows版下载:http://fr ...

  3. CSS属性选择器和部分伪类

    p[name]{background:red;} 只使用属性名p[name=ghr]{background:red;} 指定属性名,并指定了该属性的属性值p[name~=old]{background ...

  4. linux Ubuntu系统安装百度aip

    1.下载百度api pip install baidu-aip 2.配置视频转码工具ffmpeg Ubuntu16.04下安装FFmpeg(超简单版) 第一步:添加源. sudo add-apt-re ...

  5. R 540

    好久没写题解了嘻嘻嘻,昨天补edu自闭了一天还没补完fg这div3令人愉悦. A: #include <bits/stdc++.h> #define mk(a,b) make_pair(a ...

  6. python语法_注释

    #加需要注释的内容,#号后面的单行注释 #这一段注释 左右各三个注释单引号或者双引号 中间的内容为注释,可以包含多行 '''这一段注释''' """这一段注释" ...

  7. python全栈开发 * 15知识点汇总 * 180621

    #15 函数二 与 匿名函数1.dir() # 查看内置属性,将对象所有方法名放在另一个列表中.dic={"水果":"香蕉",'蔬菜':"土豆&quo ...

  8. PE、PB、PEG三大估值法的正确使用方法!

    目前市面上的估值方法有很多,比如PE估值法.PB估值法.PEG估值法,但是我相信,真正会用的人并不多,比如说目前动态市盈率121倍的比亚迪真的高估吗?比如目前市净率为0.63倍的众泰汽车真的是破净股吗 ...

  9. Oracle对于敏感数据的处理,可以采用策略(dbms_rls.add_policy)

    Oracle Policy的简单说明: Policy应用于数据行访问权限控制时,其作用简而言之,就是在查询数据表时,自动在查询结果上加上一个Where子句.假如该查询已有where子句,则在该Wher ...

  10. MAC OSX Xcode硬盘清理

    1.移除对旧设备的支持影响:可重新生成:再连接旧设备调试时,会重新自动生成.我移除了4.3.2, 5.0, 5.1等版本的设备支持.路径:~/Library/Developer/Xcode/iOS D ...