这里是kruskal做法

当然prim也可以,至于prim和kruskal的比较:

Prim在稠密图中比Kruskal优,Kruskal在稀疏图中比Prim优。

 #include<bits/stdc++.h>
using namespace std;
int fa[];
struct edge{
int u;
int v;
int w;
}e[];
int cmp(edge a,edge b)
{
return a.w<b.w;
}
int find(int x)
{
return fa[x]==x?x:fa[x]=find(fa[x]);
}
long long cnt=;
long long ans=;
long long n,m;
int main()
{ cin>>n>>m;
for(int i=;i<=n;i++)
fa[i]=i; for(int i=;i<=m;i++)
cin>>e[i].u>>e[i].v>>e[i].w; sort(e+,e++m,cmp); for(int i=;i<=m;i++)
{
if(cnt==n-)
break;
int x=find(e[i].u);
int y=find(e[i].v);
if(x!=y)
{
ans+=e[i].w;
fa[y]=x;
cnt++;
} }
if(cnt!=n-)
{
cout<<"orz";
return ;
}
cout<<ans;
return ;
}

【luogu P3366 最小生成树】 模板的更多相关文章

  1. luogu p3366 最小生成树模板

    倒腾了一个小时  自己也没去看网上的 总算自己能写出来模板了 kruskal //最小生成树 每次找最短的边 #include<bits/stdc++.h> using namespace ...

  2. 【原创】洛谷 LUOGU P3366 【模板】最小生成树

    P3366 [模板]最小生成树 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N ...

  3. Luogu P3366 【模板】最小生成树

    qwq #include<cstdio> #include<algorithm> using namespace std; ]; int n,m; struct abc { i ...

  4. 【luogu P3366 最小生成树】 题解 Prim

    include include include include using namespace std; const int maxn = 505000; int n, m, dis[maxn], v ...

  5. 洛谷P3366 【模板】最小生成树 题解

    题目链接:https://www.luogu.org/problem/P3366 最小生成树模板题. Kruskal算法 算法思想:给边按边权从小到大排序,然后遍历每一条边,如果边上的两个点不在同一个 ...

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

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

  7. 洛谷P3366 【模板】最小生成树

    P3366 [模板]最小生成树 319通过 791提交 题目提供者HansBug 标签 难度普及- 提交  讨论  题解 最新讨论 里面没有要输出orz的测试点 如果你用Prim写了半天都是W- 题目 ...

  8. P3366 【模板】最小生成树(boruvka/sollin)

    P3366 [模板]最小生成树 boruvka/sollin 复杂度$O(mlogn)$ 简要说明一下过程 引入一个数组$link[i]$表示连通块$i$下一步可更新的最短的边的编号 1.每次枚举所有 ...

  9. 洛谷P3366【模板】最小生成树-克鲁斯卡尔Kruskal算法详解附赠习题

    链接 题目描述 如题,给出一个无向图,求出最小生成树,如果该图不连通,则输出orz 输入输出格式 输入格式: 第一行包含两个整数N.M,表示该图共有N个结点和M条无向边.(N<=5000,M&l ...

随机推荐

  1. Spark on Yarn运行错误:Yarn application has already ended! It might have been killed or unable to launch application master

    Spark on Yarn模式运行错误: bin/spark-shell --master yarn --deploy-mode client #报错 ​ 查看8088页面上的工作日志 错误原因:在执 ...

  2. 05-ognl基本语法

    1 基本取值 @Test //1基础语法演示-基本取值 //取出root中的属性值 public void fun2() throws Exception{ //1 准备OGNLcontext Ogn ...

  3. 封装Lua for C#

    http://blog.csdn.net/rcfalcon/article/details/5583095

  4. tomcat修改域名和访问域名时去掉项目名

    打开tomcat安装目录,根据路径找到 server.xml   路径D:\apache-tomcat-7.0.70\conf\server.xml 打开后   找到这一段 <Connector ...

  5. nopCommerce 3.9 版本发行

    NopCommerce中文信息地址:http://www.nopcn.com/nopcommerce39-blog-release-notes.html NopCommerce英文地址:http:// ...

  6. 【转载】BootStrap表格组件bootstrap table详解

    (转载,来源“脚本之家”,作者不详) 一.Bootstrap Table的引入 关于Bootstrap Table的引入,一般来说还是两种方法: 1.直接下载源码,添加到项目里面来.由于Bootstr ...

  7. vs2017取消起始页(设定起始页)/(.ashx文件的添加)

    1.设定起始页:在要设定起始页的视图(如Index视图)上直接右击,然后点击“设为起始页” 2.取消起始页:点击菜单栏“调试”,然后点击最后一行“项目名+属性”,打开后选中左侧栏中的“web”,选中“ ...

  8. 【学习笔记】开源日志记录工具log4j使用方法

    http://blog.csdn.net/zouqingfang/article/details/37558469 一.在MyEclipse中使用log4j的步骤比较简单,主要分为以下四个步骤: 1. ...

  9. C# ObjectArx cad二次开发

    1 环境搭建:安装CAD 和objectArx库,这里安装的是cad2012和objectArx2010 ,vs是2010 2 新建一个类库项目,引用objectArx安装目录下inc文件夹下的AcD ...

  10. fegin client使用http url合约时报: [Request processing failed; nested exception is feign.FeignException: status 400 reading

    首先看feign client代码: @FeignClient(name = "SPRING-CLOUD-WEB-PROVIDER-GROUP2", url = "htt ...