当前位置: 首页 > 编程日记 > 正文

hdu 1879 继续畅通工程

最小生成树入门题,和纯粹的裸题有些区别,题目中有些道路已经存在,不需要建造,答案是求最后建造的总费用,不要把已经有的道路的权值算进去

//kruskal算法已有的边权植赋为0
//用SORT排序,用并查集判断是否成环

#include <stdio.h>
#include <string.h>
#include <algorithm>
using namespace std;
#define INF 1236343242
#define MAX 110
bool vis[MAX][MAX];
int p[MAX];
int ans[MAX*MAX];struct edge
{int b,e,w;
}a[MAX*MAX];
int n;int cmp(struct edge p , struct edge q)
{return p.w<q.w;
}int find(int x)
{return p[x]==x ? x : p[x]=find(p[x]);
}
void kruskal()
{int x,y,i,j,k,count;int sum;for(i=1; i<=n; i++)p[i]=i;for(sum=0,i=1; i<=n; i++){x=find(a[i].b);y=find(a[i].e);if(x!=y){p[x]=y;sum+=a[i].w;}}printf("%d\n",sum);return ;
}
void init()
{int i,j,t;for(i=1; i<=n; i++){scanf("%d%d%d%d",&a[i].b,&a[i].e,&a[i].w,&t);if(t)a[i].w=0;   //权值改为0
    }
}
int main()
{int i,j,t;while(scanf("%d",&n)!=EOF && n){n=n*(n-1)/2;init();sort(a+1 , a+n+1 , cmp);kruskal();}return 0;
}

//Prim算法实现

#include <stdio.h> #include <string.h> #define MAX 110 #define INF 1232145125 bool vis[MAX][MAX]; int G[MAX][MAX]; int adj[MAX]; int lowcoat[MAX]; int n;void init() {int i,j,a,b,c,d;memset(vis , 0 ,sizeof(vis));for(i=0; i<=n; i++)for(j=0; j<=n; j++)G[i][j]=INF;for(i=0; i<=n; i++)G[i][i]=0;for(i=1; i<=n*(n-1)/2; i++){scanf("%d%d%d%d",&a,&b,&c,&d);G[a][b]=G[b][a]=c;if(d){vis[a][b]=vis[b][a]=1;G[a][b]=G[b][a]=-1; //已经有的道路我们假设它的权值为-1} // printf("G[%d][%d]=G[%d][%d]=%d\n",a,b,b,a,G[a][b],G[b][a]); } }void prim() {int v,i,j,k,min,ans;for(i=1; i<=n; i++){adj[i]=1;lowcoat[i]=G[1][i];}lowcoat[1]=0;for(v=1; v<n; v++){min=INF; k=1;for(i=1; i<=n; i++)if(lowcoat[i] && lowcoat[i]<min){min=lowcoat[i];k=i;}lowcoat[k]=0; // printf("min=%d\n",min); // printf("k=%d\n",k);for(i=1; i<=n; i++)if(lowcoat[i] && G[k][i]<lowcoat[i]){lowcoat[i]=G[k][i];adj[i]=k;}}// printf("lowcoat: "); // for(i=1; i<=n; i++) printf("%d ",lowcoat[i]); printf("\n"); // printf("adj: "); // for(i=1; i<=n; i++) printf("%d ",adj[i]); printf("\n");for(ans=0,v=2; v<=n; v++){i=adj[v];if(G[i][v]!=-1) //如果这条路本身存在则不要算它的费用,不存在的才要算ans+=G[i][v];}printf("%d\n",ans); } int main() {while(scanf("%d",&n)!=EOF && n){init();prim();}return 0; }

转载于:https://www.cnblogs.com/scau20110726/archive/2012/10/10/2719204.html

相关文章:

AI视觉大牛朱松纯担任北大AI研究院院长,提出通过构建大任务平台走向通用AI...

整理 | AI科技大本营编辑部据北京大学新闻网9月24日报道&#xff0c;AI视觉顶级学者朱松纯正式任职北京大学讲席教授、人工智能研究院院长。朱松纯表示&#xff0c;他与北大、清华的相关学者一直保持着密切的学术交流与合作&#xff0c;近一段时间&#xff0c;他又又深入考察了…

巧用CSS的alpha滤镜

作者&#xff1a;冯永曜 “Alpha”滤镜&#xff0c;听到这个名字&#xff0c;你可能会想到Flash里有&#xff0c;Photoshop里也似乎见过。一点不错&#xff0c;它们的作用基本类似&#xff0c;就是把一个目标元素与背景混合。你可以指定数值来控制混合的程度。这种“与背景混合…

Java实现二维码

Java实现二维码 最近突然想写一些博客&#xff0c;所以就陆陆续续的编写一些自我感觉有用的并且大家也可能用到的一些技术代码。方便互相学习交流。 今天这篇博客&#xff0c;主要是利用Java实现二维码&#xff1a; 在写代码之前先讲一下整体思路&#xff0c;以方便更好更快捷的…

巧用CSS的BlendTrans滤镜

作者&#xff1a;冯永曜 BlendTrans滤镜比起上一篇介绍的Revealtrans滤镜来要简单一些&#xff0c;它只有一个参数&#xff1a;Duration 变换时间&#xff0c;它的功能也比较单一&#xff0c;就是产生一种淡入淡出的效果&#xff0c;不过它的这种效果比起RevealTrans滤镜的淡入…

百度盯上媒体生意?百度CTO王海峰详解智能媒体中台

9月27日&#xff0c;由中央网信办、上海市委网信委、新华通讯社联合主办&#xff0c;新华网、上海市委网信办、上海广播电视台、百度承办的“2020中国网络媒体论坛”在上海隆重举行。在百年未有之大变局的新形势下&#xff0c;作为中国网络媒体界层次最高、最具权威性和影响力的…

[转]Android敏捷开发指南

原文地址&#xff1a;http://www.apkbus.com/android-72730-1-1.html 本文紧密结合移动开发方法与技术&#xff0c;围绕Android平台的开发探讨提供更高质量移动产品的解决方案。作者在文中分析了移动开发中常见的问题&#xff0c;从两方面阐述了ThoughtWorks&#xff08;&#…

C# 格式串(收藏)

一、用{0:?}格式化 可通过 String.Format 方法或通过 Console.Write 方法格式化数值结果&#xff0c;其中后一种方法调用 String.Format。使用格式字符串指定格式。下表包含受支持的标准格式字符串。格式字符串采用的形式为 Axx&#xff0c;其中 A 为“格式说明符”&#xff0…

巧用CSS的Wave滤镜

作者&#xff1a;冯永曜 "wave"滤镜&#xff0c;看它的名称你可能就能想到其效果&#xff0c;正如你想的那样&#xff0c;它的作用是把对象按照垂直的波形样式扭曲&#xff0c;从而产生一种特殊的效果。它共有5个参数&#xff1a;"add"&#xff1a;表示是否…

关于vmware虚拟机linux的扩容问题

Linux的VM虚拟机扩展磁盘空间 &#xff08;1&#xff09;vmware软件中编辑虚拟机设置中又扩容的选项&#xff0c;这里不做介绍。 &#xff08;2&#xff09;启动VM环境下的linux操作系统,添加新分区&#xff0c;需要root账号身份。 3.1 【fdisk -l】 extend 对应的是sda4&#…

用Python玩转PPT!

作者 | 陈熹来源 | 早起Python今天本文将基于第三方库pptx&#xff0c;详细讲解如何使用Python操作Office全家桶最后一位——PPT。安装pptx是一个非标准库&#xff0c;需要在命令行中安装pip install python-pptx要注意&#xff0c;安装的时候是python-pptx&#xff0c;而实际调…

贝塞尔曲线学习

贝塞尔曲线是UIkit中的一个关于图形绘制的类 贝塞尔曲线可以绘制矩形&#xff0c;圆形&#xff0c;直线&#xff0c;曲线&#xff0c;以及它们的混合图形。 系统常用的内置方法 // 创建基本路径 (instancetype)bezierPath; // 创建矩形路径 (instancetype)bezierPathWithRect…

巧用CSS的 Mask 滤镜

作者&#xff1a;冯永曜在网页制作中使用CSS&#xff0c;这已是众所周知&#xff0c;而关于CSS滤镜使用的却介绍得不多。其实&#xff0c;0CSS的滤镜在Dreamweaver3中用起来也很方便&#xff0c;且能使文字产生一种类似图象的效果&#xff0c;但比起图片来可就瘦小多了。不信&a…

Google Analytics功能篇 - 如何跟踪邮件打开率与点击率

有些朋友总会问我&#xff0c;在作邮件营销时&#xff0c;应该如何来跟踪这些流量呢&#xff1f;以便能知道发送的成功率&#xff0c;打开率&#xff0c;点击邮件中的链接数量&#xff0c;怎么实现这样的功能呢&#xff1f; 另外&#xff0c;有一个做邮件群发的朋友给我说&…

Google排名第一的技术,引数十万人关注!网友:差点我就放弃了!

毋庸置疑&#xff0c;Python越来越被认可为程序员新时代的风口语言。无论是刚入门的程序员&#xff0c;还是年薪百万的 BATJ 的大牛都无可否认&#xff1a;Python的应用能力是成为一名码农大神的必要项。 所以&#xff0c;很多程序员把Python当做第一语言来学习。 但对于Python…

python的zip函数

zip()函数 它是Python的内建函数&#xff0c;(与序列有关的内建函数有&#xff1a;sorted()、reversed()、enumerate()、zip()),其中sorted()和zip()返回一个序列(列表)对象&#xff0c;reversed()、enumerate()返回一个迭代器(类似序列) 1 >>> type(sorted(s)) 2 <…

Nginx 搭建负载均衡

1.其实我这里并不是访问量很大&#xff0c;主要用于版本升级和维护而搭建的 2.忽略nginx安装和jetty的安装配置&#xff0c;我是在一台Linux服务器上装了两个jetty服务&#xff0c;部署两套jetty服务很简单&#xff0c;其实改改jetty.sh 脚本即可 JETTY_HOME/opt/jetty2/ JETT…

巧用CSS的Glow滤镜

作者&#xff1a;冯永曜对一个对象使用“glow”滤镜后&#xff0c;这个对象的边缘就会产生类似发光的效果&#xff0c;这种效果在PHTOSHOP中做起来都比较麻烦&#xff0c;而在DW3中用CSS的“glow”滤镜来制作却是如此地简单&#xff0c;而且节约不少字节。“glow”滤镜只有两个…

10大经典排序算法,20+张图就搞定

作者 | 李肖遥来源 | 技术让梦想更伟大冒泡排序简介冒泡排序是因为越小的元素会经由交换以升序或降序的方式慢慢浮到数列的顶端&#xff0c;就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样&#xff0c;故名冒泡排序。复杂度与稳定性思路原理以顺序为例从第一个元素开始一…

C# MoreLinq 扩展安装

为什么80%的码农都做不了架构师&#xff1f;>>> http://blog.csdn.net/lee576/article/details/42716905 MoreLinq是一个对Linq to object的扩展类库,它是一个开源项目(http://code.google.com/p/morelinq/source/browse 天朝已对google全力封禁,所以要翻墙)&#…

IOS学习博客不错的大部分是原创

http://blog.csdn.net/iukey/article/category/955062

巧用CSS的Light滤镜

作者&#xff1a; 冯永曜Light滤镜能产生一个模拟光源的效果&#xff0c;但使用它要通过调用它的“方法&#xff08;Method&#xff09;”来实现&#xff0c;这就要用到一些Javascrpt知识&#xff0c;虽然有一点难度&#xff0c;但产生的效果也是奇特的&#xff0c;你看看下面的…

没有场景,不做单点技术输出,360数科如何做金融科技的最佳实践?

作者 | Just 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 从互联网金融公司转变为金融科技公司&#xff0c;品牌升级后的360数科强化了“科技”的外衣。 在近期的首个360数科技术开放日&#xff0c;360数科CEO吴海生表示&#xff0c;他们已经做好金融科技的最佳…

react构建淘票票webapp,及react与vue的简单比较。

前言 前段时间使用vue2.0构建了淘票票页面&#xff0c;并写了一篇相关文章vue2.0构建淘票票webapp&#xff0c;得到了很多童鞋的支持&#xff0c;因此这些天又使用react重构了下这个项目&#xff0c;目的无他&#xff0c;只为了学习和共同进步&#xff01; 项目技术栈 前端技术…

【机器学习】机器学习算法优缺点对比(汇总篇)

作者 | 杜博亚来源 | 阿泽的学习笔记「本文的目的&#xff0c;是务实、简洁地盘点一番当前机器学习算法」。文中内容结合了个人在查阅资料过程中收集到的前人总结&#xff0c;同时添加了部分自身总结&#xff0c;在这里&#xff0c;依据实际使用中的经验&#xff0c;将对此模型…

PLSQL developer 连接不上64位Oracle 解决办法

在64位Windows2003上安装Oracle后&#xff0c;用PLSQL developer去连接数据库出现报错&#xff1a; Could not load "……\bin\oci.dll" OCIDLL forced to…… LoadLibrary&#xff08;……oci.dll&#xff09; returned 0 原因&#xff1a; oci.dll是64位的&#xf…

Docker 使用教程

概括  Docker与传统虚拟机的区别 与传统虚拟机的区别  Docker的安装 的安装  Docker daemon &#xff0c; client &#xff0c; containerd  镜像与容器操作  容器运行配置  Docker网络配置 网络配置  Alpine Docker Image  制作自己的 Docker Image …

话说CSS滤镜

作者&#xff1a;http://www.swtv.com.cn/adjunct/nr/css/css.htmAlpha 透明层次&#xff1a;滤镜效果语法&#xff1a;STYLE"filter:filtername(parameter1,parameter2,parameter3...)"其中&#xff1a;filtername为滤镜的名称&#xff1b;parameter1,parameter2等为…

面向隐私AI的TensorFlow深度定制化实践

作者 | Rosetta团队出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09;之前我们整体上介绍了基于深度学习框架开发隐私 AI 框架中的工程挑战和可行解决方案。在这一篇文章中&#xff0c;我们进一步结合 Rosetta 介绍如何定制化改造 TensorFlow 中前后端相关组件&#xf…

”拿来搞笑“的大学生活

”拿来搞笑“这词&#xff0c;是我舍友对我说过好几遍&#xff0c;我才觉得这词用来形容我大学的生活再恰当不过了&#xff0c;感谢他送给我这个词。 下面就列一下我大学期间”拿来搞笑“的事情&#xff1a; —&#xff1a;无偿捐血400毫升。当时认为是一件微不足道的事情&…

巧用CSS的Border属性

。作者&#xff1a;冯永曜 来源&#xff1a;黄山村夫 制作过网页的人都有为画线而烦恼的经历&#xff0c;本文介绍的小技巧也许对你有所帮助。我们先来认识一下“Border”&#xff08;画边框&#xff09;&#xff0c;它是CSS的一个属性&#xff0c;用它可以给能确定范围的HTML标…