#include <cstdio>
#include <cstring>
#include <vector>
#include <algorithm>
using namespace std; const int maxn = ;
int n, m;
struct node
{
int u, v, c;
}g[maxn];
long long ans;
int fa[maxn];
int ff[maxn];
int ee[maxn]; bool cmp(node a, node b){
return a.c > b.c;
} void init(){
memset(ff, false, sizeof(ff));
memset(ee, false, sizeof(ee));
for (int i = ; i < n; i++){
fa[i] = i;
}
} int find(int x){
if (x == fa[x])
return x;
else
return fa[x] = find(fa[x]);
} void Union(int x, int y, int z){
int a = find(x);
int b = find(y);
if (a == b){
if (ff[a])
return;
ans += z;
ff[a] = true;
}
else{
if (ff[a] && ff[b])
return;
ans += z;
fa[b] = a;
if (ff[a] || ff[b])
ff[a] = true;
}
} int main(){
while (~scanf("%d%d", &n, &m)){
if (n == && m == )
break;
init();
int u, v, c;
for (int i = ; i < m; i++){
scanf("%d%d%d", &u, &v, &c);
g[i].u = u;
g[i].v = v;
g[i].c = c;
}
//克鲁斯卡尔
sort(g, g + m, cmp); //按边从小到大排列
ans = ;
for (int i = ; i < m; i++){
Union(g[i].u, g[i].v, g[i].c);
}
printf("%lld\n", ans);
}
//system("pause");
return ;
}

hdu 3367 Pseudoforest 最大生成树★的更多相关文章

  1. hdu 3367 Pseudoforest(最大生成树)

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  2. hdu 3367 Pseudoforest (最大生成树 最多存在一个环)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3367 Pseudoforest Time Limit: 10000/5000 MS (Java/Oth ...

  3. hdu 3367 Pseudoforest

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  4. hdu 3367(与最大生成树无关。无关。无关。重要的事情说三遍+kruskal变形)

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  5. HDU 3367 Pseudoforest(Kruskal)

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) To ...

  6. hdu 3367 Pseudoforest (最小生成树)

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  7. hdu 3367 Pseudoforest(并查集)

    题意:有一种叫作Pseudoforest的结构,表示在无向图上,每一个块中选取至多包含一个环的边的集合,又称“伪森林”.问这个集合中的所有边权之和最大是多少? 分析:如果没有环,那么构造的就是最大生成 ...

  8. hdu 3367(Pseudoforest ) (最大生成树)

    Pseudoforest Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tot ...

  9. HDU 3367 (伪森林,克鲁斯卡尔)

    传送门: http://acm.hdu.edu.cn/showproblem.php?pid=3367 Pseudoforest Time Limit: 10000/5000 MS (Java/Oth ...

随机推荐

  1. 关于Widget预览图的改动

    在做项目时候,由于常常不带GPS功能.所以在有些细节上须要做处理,当中之中的一个就是.快捷开关的预览图和实际效果图的差异 在我们快捷开关的预览图中,总是能够看到五个快捷开关,事实上就包含GPS信息 而 ...

  2. ERROR: cannot start Android Studio. No JDK found. Please validate either ANDROID_STUDIO_JDK, JDK_HOME + Unrecognized VM option '+UseCodeCacheFlushing

    想学下android,在本来想用myeclipse安装下sdk和adt,谁知在官网看到http://developer.android.com/sdk/index.html Google I/O 20 ...

  3. Spring Boot 整合Filter

    两种方法 方法一: 正常创建好Filter类,配置完成 package clc.user.filter; import javax.servlet.Filter; import javax.servl ...

  4. 数据库连接池-配置 wallfilter问题解决-UncategorizedSQLException

    wallFilter对sql有着严格的校验,会对有风险的sql过滤,抛出异常信息: org.springframework.jdbc.UncategorizedSQLException: ### Er ...

  5. CVE-2015-7547漏洞分析从原因到利用到补丁(非常适合小白)【转】

    本文转载自:http://blog.csdn.net/u012406115/article/details/72232535 一.         漏洞概述 CVE漏洞链接:http://www.cv ...

  6. Linux下配置rsync服务器

    一.简介 rsync是一个远程数据同步工具,可以快速同步多台主机间的文件.Rsync使用所谓的“Rsync算法”来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都 ...

  7. vi编辑器设置行号可见

    vi 设置行号 需要切换到命令模式下,输入set number :set number 按下回车即可

  8. NOSQL安全攻击

    摘自:http://www.infoq.com/cn/articles/nosql-injections-analysis JSON查询以及数据格式 PHP编码数组为原生JSON.嗯,数组示例如下: ...

  9. Eclipse中文乱码问题

    最近用TortoiseSVN从androiddex上下载了一个android工程,导入之后发现里面的中文都是乱码,于是在Eclipse里通过Windows-Preferences-Workspace修 ...

  10. can't set android permissions - built without android support

    /**************************************************************************** * can't set android pe ...