*对prim算法、Kruskal算法不是很理解的请移步

题目链接:

题目描述:

Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路。道路被用来连接N个牧场,牧场被连续地编号为1到N。每一个牧场都是一个奶牛的家。FJ计划除去P条道路中尽可能多的道路,但是还要保持牧场之间 的连通性。你首先要决定那些道路是需要保留的N-1条道路。第j条双向道路连接了牧场Sj和Ej(1 <= Sj <= N; 1 <= Ej <= N; Sj != Ej),而且走完它需要Lj的时间。没有两个牧场是被一条以上的道路所连接。奶牛们非常伤心,因为她们的交通系统被削减了。你需要到每一个奶牛的住处去安慰她们。每次你到达第i个牧场的时候(即使你已经到过),你必须花去Ci的时间和奶牛交谈。你每个晚上都会在同一个牧场(这是供你选择的)过夜,直到奶牛们都从悲伤中缓过神来。在早上 起来和晚上回去睡觉的时候,你都需要和在你睡觉的牧场的奶牛交谈一次。这样你才能完成你的 交谈任务。假设Farmer John采纳了你的建议,请计算出使所有奶牛都被安慰的最少时间。

输入格式

第1行包含两个整数N和P。

接下来N行,每行包含一个整数Ci。

接下来P行,每行包含三个整数Sj, Ej和Lj。

输出格式

输出一个整数, 所需要的总时间(包含和在你所在的牧场的奶牛的两次谈话时间)。

样例输入

5 7

10

10

20

6

30

1 2 5

2 3 5

2 4 12

3 4 17

2 5 15

3 5 6

样例输出

176

数据规模与约定

5 <= N <= 10000,N-1 <= P <= 100000,0 <= Lj <= 1000,1 <= Ci <= 1,000。

首先这道题我们先用prim写一下

#include#define inf 0xFFFFFFFint tk[10010];         //谈话时间 int z[10010];          //记录该牛的状态 int prim[10001][10001];int fmin(int a,int b){return a

结果显而易见的

题目要求内存上限是256M,而我们的int[10000][10000]

那么显然,prim是不行的。那么我们再来用Kruskal试一下~

#include#includeusing namespace std;#define inf 0xFFFFFFFint point[111111];int pre[111111];int n,p,sum;int fmin(int a,int b){return a

结果:

成功(*^__^*)

当然,如果就这么愉快的结束了,那么人生岂不是没有乐趣了~

256M的内存嘛,仅仅用了3M很浪费有木有~~~

所以……嘿嘿,我将两种算法稍微融合一下,也就是prim基础上,舍弃一些无用的点

即:prim[a][b]原来是a与b的权值,当ab没有边的时候,这些内存就不需要记录了

那么就将prim变成三维数组,我们假设

//prin_233[i][j][0]代表第i个牧场可连接的第j条路到达的牧场地点

//prin_233[i][j][1]代表其权值

然后……

#include#define inf 0xFFFFFFFint tk[10010];int z[10010];int prin_233[10001][3333][2]; //233333333333笑尿 int Side[10010];              //i点拥有的边数 int o[10001];                 //optimum,最终的最优解,可以认为是prim的第一行(列) int fmin(int a,int b){return a

我们提交一下试一试

~~成功!!

再看一看Kruskal的跑分

哈哈,第四组数据完爆你Kruskal有木有!!!!就是这么6,

然而并没有神马卵用- - ....

蓝桥杯安慰奶牛java_最小生成树——安慰奶牛(蓝桥杯试题集)相关推荐

  1. 蓝桥杯矩阵翻转java_矩阵翻转硬币 蓝桥杯

    解题思路分析:           n=2, m=3 翻硬币过程(1代表正面,0代表反面): step 1 : step 2 : 当(x, y) = (1, 1)时, (i * x,  j * y)将 ...

  2. 最小生成树——安慰奶牛(蓝桥杯试题集)

    *对prim算法.Kruskal算法不是很理解的请移步 http://blog.csdn.net/sm9sun/article/details/53256232  //并查集 http://blog. ...

  3. 算法训练 安慰奶牛(最小生成树)

    这道关于最小生成树的问题,起初让我百思不得解,所以就搁置了下来,今天才想着做做,一会儿我就跟你们说说我那可笑的理解.可笑的疑惑! 题目: 问题描述 Farmer John变得非常懒,他不想再继续维护供 ...

  4. 2022年第十三届蓝桥杯大赛软件省赛Java学B组试题

    第十三届蓝桥杯大赛软件省赛Java学B组试题 一.试题截图 1. 星期计算 这道题是可以直接用笔算起来的,我算出来的答案是5,(2022整除7 余6,六天后就是星期五)但目前官方答案还不知道是什么? ...

  5. 【蓝桥杯】 《3W字数总结》 蓝桥杯Java必备基础知识以及国赛真题解析

    本文会持续更新,如果对您有帮助的话可以点点关注,双击 本人2021年蓝桥杯C++B组国二,今年转战Java,并整理此文,希望能够对大家有所帮助,第一次写这么长的文章,可能有的地方写的不是很好,还请大家 ...

  6. 蓝桥杯算法竞赛系列第0章——蓝桥必考点及标准模板库STL(上)(万字博文,建议抱走)

    欢迎来到:遇见蓝桥遇见你,不负代码不负卿! 目录 ​ 一.蓝桥必考点剖析 二.什么是STL 三.vector的常见用法详解 1.vector的定义 2.vector容器内元素的访问 (1).通过下标访 ...

  7. mysql安慰_高考安慰人的话-2016安慰高考失利的话大全【暖心励志】最新整理版-东坡下载...

    高考过后有人欢喜有人优,对于那些高考失利的朋友如何进行安慰呢?高考安慰人的话--2016安慰高考失利的话大全分享给朋友们,高考像漫漫人生路上的一道坎,无论成败与否,我认为现在都不重要了,重要的是要总结 ...

  8. 叠罗汉 农场的N头奶牛喜欢玩叠罗汉游戏,就是几头奶牛1头奶牛接着1头奶牛的站成一柱子形状。不过奶牛的力量不一样,用数值Ci表示第i头奶牛它的上面最多可以站多少头奶牛,问这些奶牛最少可以站成几个柱子形状

    叠罗汉 题目描述 农场的N头奶牛喜欢玩叠罗汉游戏,就是几头奶牛1头奶牛接着1头奶牛的站成一柱子形状.不过奶牛的力量不一样,用数值Ci表示第i头奶牛它的上面最多可以站多少头奶牛,问这些奶牛最少可以站成几 ...

  9. 15元钱一杯咖啡,喝完后两个空杯换一杯,问:你有100元钱,最多可以喝到几杯咖啡

    15元钱一杯咖啡,喝完后两个空杯换一杯,问:你有100元钱,最多可以喝到几杯咖啡 public static void main(String args[]){int count = 100/15; ...

  10. 模糊?还是概率?两杯水,一杯模糊有毒,一杯概率有毒,你必须选一杯喝下去,你选哪一杯?

    问题描述 两杯水,一杯模糊有毒,一杯概率有毒,你必须选一杯喝下去,你选哪一杯? 前提提要 此问题我是听中南大学自动化学院的 周晓君老师说的 ,他说他也是听某个大牛在某次报告上说的,当时一堆听报告的教授 ...

最新文章

  1. wPaint在线绘图插件
  2. [RabbitMQ]RabbitMQ深入理解(一)进阶/管理/配置
  3. 贝佐斯明抢马斯克太空生意:数十亿美元组卫星互联网,5年内发射3236颗卫星...
  4. 奇怪的问题,再次启动jar包会导致bean对象失效?Unknown redis exception Cannot connect, Event executor group is terminated
  5. 30万条数据,搜索文本字段的各种方式对比
  6. Java性能优化之String字符串优化,BAT 面试官 如何面试
  7. 【clickhouse】clickhouse时区
  8. Gridview光棒效果
  9. 【LeetCode】贪心算法--分发糖果(135)
  10. ansible的lookup
  11. HDU2094 产生冠军【set】
  12. ios不能保存png_ios转一加8t使用体验随用随更新
  13. 2017.10.14晚,用迅雷下载大部分BT资源出现失败,tracker服务器被封了?FK
  14. 好家伙?阿里网盘的分享功能已经出来了?
  15. 賀旺囍影_EDIUS6.06安装版 【实机测试】
  16. P1308 [NOIP2011 普及组] 统计单词数
  17. [Windows] 迅雷 无修改 无限制 无视封锁
  18. 智能手机照片被误删如何恢复
  19. 《人工智能的未来》摘录
  20. vim 常用功能大全

热门文章

  1. js 杂项(一)函数篇
  2. 《嵌入式 Linux C 语言应用程序设计(修订版)》——2.1 嵌入式Linux下C语言概述...
  3. C++走向远洋——35(友元,时间)
  4. 发送带嵌入图片邮件之SMTP实现和ESMTP实现
  5. 以太网设计FAQ:以太网MAC和PHY
  6. 用VB实现自己的邮件“自己发”
  7. 【SpringBoot_ANNOTATIONS】 生命周期 02 实现InitializingBean, DisposableBean接口
  8. Unity UGUI基础之Image格式讲解
  9. Python 之 新手安装详解 、安装目录说明 及 修改 pip 默认包安装位置
  10. 计算机如何快速访问文件夹,高手教你如何快速定位文件夹(图文介绍)