Kruscal  Template :

很裸的Kruscal Template(求最小生成树中最长路,即最短路中最长路)

//#pragma comment(linker, "/STACK:16777216") //for c++ Compiler
#include <stdio.h>
#include <iostream>
#include <climits>
#include <cstring>
#include <algorithm>
#define ll long long
using namespace std; const int INF = 0x3f3f3f3f;
const int MAX = ; int root[MAX],n,m,cnt;
struct Edge{
int s,e;
int value;
}edge[MAX]; bool cmp(Edge a, Edge b){
return a.value < b.value;
} void init(){
for(int i = ; i <= n; ++i)
root[i] = i;
} int find(int x){
return root[x] == x ? x : (root[x] = find(root[x]));
} void merge(int a,int b){
if(a < b)
root[b] = a;
else
root[a] = b;
} void kruskal(){
int i,j;
cnt = ;
for(i = ; i <= m; ++i){
int a = find(edge[i].s);
int b = find(edge[i].e);
if(a != b){
merge(a,b);
++cnt;
}
if(cnt >= n-){
printf("%d\n",edge[i].value);
break;
}
}
}
int main(){
int i,j;
while(scanf("%d%d",&n,&m) != EOF){
for(i = ; i <= m; ++i)
scanf("%d%d%d",&edge[i].s,&edge[i].e,&edge[i].value);
sort(edge + , edge + + m, cmp);
init();
kruskal();
}
return ;
}

Prime Template :

备注: map 初始化为 INF 无穷大

double prim(){
bool vis[MAXN];
memset(vis, , sizeof(vis));
double dis[MAXN];
double ans = ;
int i,j;
vis[] = true;
for(i = ; i <= n; ++i)
dis[i] = map[][i];
for(i = ; i < n; ++i){
int temp = INF, flag;
for(j = ; j <= n; ++j){
if(!vis[j] && dis[j] <= temp){
temp = dis[j];
flag = j;
}
}
vis[flag] = true;
ans += dis[flag];
for(j = ; j <= n; ++j){
if(!vis[j] && map[flag][j] < dis[j])
dis[j] = map[flag][j];
}
}
return ans;
}

Kruscal 、 Prime Template的更多相关文章

  1. IDEA04 工具窗口管理、各种跳转、高效定位、行操作、列操作、live template、postfix、alt enter、重构、git使用

    1 工具窗口管理 所有的窗口都是在view -> tools windows 下面的,这些窗口可以放在IDEA的上下左右各个位置:右键某个窗口后选择move to 即可进行位置调整 2 跳转 2 ...

  2. Miller_Rabin、 Pollard_rho Template

    Multiply and pow Function: //计算 (a*b)%c. a,b都是ll的数,直接相乘可能溢出的 // a,b,c <2^63 ll mult_modq(ll a,ll ...

  3. jdbc事务、连接池概念、c3p0、Driud、JDBC Template、DBUtils

    JDBC 事务控制 什么是事务:一个包含多个步骤或者业务操作.如果这个业务或者多个步骤被事务管理,则这多个步骤要么同时成功,要么回滚(多个步骤同时执行失败),这多个步骤是一个整体,不可分割的. 操作: ...

  4. Centos 7 Docker、docker-compose、Registrator、Consul、Consul Template和Nginx实现高可扩展的Web框架

    安装所需软件 Docker Docker-compose 配置docker-compose.yml文件内容如下: #load balancer will automatically update th ...

  5. 从外部访问 Template (模板)的控件、获取它的属性值

    DataTemplate 和 ControlTemplate 两个类均派生自 FrameWorkTemplate类.这个类有个 FindName方法 供我们查询内部控件.  ControlTempla ...

  6. Django Template语法中 OneToOne、ForeignKey 外键查询

    主表的Models的结构 class A(models.Model): username = models.CharField(max_length=32, verbose_name='用户名称') ...

  7. WPF基础知识、界面布局及控件Binding(转)

    WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...

  8. WPF基础知识、界面布局及控件Binding

    WPF是和WinForm对应的,而其核心是数据驱动事件,在开发中显示的是UI界面和逻辑关系相分离的一种开放语言.UI界面是在XAML语言环境下开发人员可以进行一些自主设计的前台界面,逻辑关系还是基于c ...

  9. 《Play for Java》学习笔记(三)template+Message

    说明: 这是本书的第八章内容,由于项目需要,提到前面来看啦~~~O(∩_∩)O 一.模板template的定义 Play中的模板是html代码和Scala代码的混合而成的,其中Scala代码以@开头, ...

随机推荐

  1. PhoneGap笔记-01 基本使用

    1. 环境配置 1.1 常用框架 jQuery Backbone.js dojo bootstrap kendo UI Sencha jQuery Mobile PhoneJS AngularJS I ...

  2. 基于FPGA的key button等开关消抖,按键消抖电路设计

    最近要用上一个key消抖的功能.于是找到了之前写的并放入博客的程序,发现居然全部有问题.http://www.cnblogs.com/sepeng/p/3477215.html —— 有问题,包括很多 ...

  3. Java解析器

    http://www.infoq.com/cn/articles/HIgh-Performance-Parsers-in-Java-V2?utm_source=infoq&utm_medium ...

  4. Java并发编程总结3——AQS、ReentrantLock、ReentrantReadWriteLock(转)

    本文内容主要总结自<Java并发编程的艺术>第5章——Java中的锁. 一.AQS AbstractQueuedSynchronizer(简称AQS),队列同步器,是用来构建锁或者其他同步 ...

  5. javascript 计算中文字符长度

    function getLength(str) {        var len = str.length;        var reLen = 0;        for (var i = 0; ...

  6. mrtg监控网络流量简单配置

    Mrtg服务器搭建(监控网络流量) [日期:2012-07-03] 来源:Linux社区  作者:split_two [字体:大 中 小]   [实验环境] 监控机:Red Hat linux 5.3 ...

  7. HDU1029时钟(排序)

    题意:是用两个指针的一个模拟时钟的时针和分针.两个指针形成一个角度.角度测量两个指针之间的最小角度.两只手之间的角度是大于或等于0,且小于或等于180度的度量.由于一个序列的五个不同的写入时间,格式为 ...

  8. Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器

    Asp.Net MVC4.0 官方教程 入门指南之二--添加一个控制器 MVC概念 MVC的含义是 “模型-视图-控制器”.MVC是一个架构良好并且易于测试和易于维护的开发模式.基于MVC模式的应用程 ...

  9. 【监控】使用probe对tomcat服务进行监控

    1.运行环境(博主本地) JDK:jdk1.6 Tomcat:tomcat7 OS:Windows10 2.下载 点击下载 3.安装运行 1.解压,将probe文件夹复制放进tomcat里面的weba ...

  10. html5之histroy浅析

    history是HTML5的新特性,我们可以使用它操作这个历史记录堆栈. (1)history提供了对浏览器历史纪录堆栈的读取,同时实现在访问记录中的前进和后退: history.length 历史记 ...