题面复制不过来,只能发图片了。。。。
思路:(太久没做图论的题目了。。。。感觉有点生疏了)
一开始是以节点1用prime做一棵最小生成树,然后加上发电站最小费用就是答案。。。。。。。。。。
结果我wa了。。。。。。。。。。。我以为最小生成树一定是唯一的,结果有这么一条定理:对于一个图G,如果图中的边权值都不相同,则图的最小生成树一定唯一,反之亦然。
我也举了一个例子:

然后可以发现以点1做最小生成树和以点4做最小生成树答案显然是先以4做根节点的更好。
代码:

#include <bits/stdc++.h>
using namespace std;const int inf = 0x3f3f3f3f;
const int maxn = 1e4 + 10;
int maxtri[maxn][maxn];
int vis[maxn];
int dis[maxn];
int n;
int prime() {int ans = 0;for (int i = 1; i <= n; i++) {int _min = inf;int k;for (int i = 1; i <= n; i++) {if (!vis[i] && dis[i] < _min) {_min = dis[i];k = i;}}vis[k] = 1;ans += dis[k];for (int j = 1; j <= n; j++) {if (!vis[j] && maxtri[k][j] < dis[j])dis[j] = maxtri[k][j];}}return ans;
}
int main() {scanf("%d", &n);for (int i = 1; i <= n; i++) {scanf("%d", &dis[i]);}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {scanf("%d", &maxtri[i][j]);}}printf("%d\n", prime());
}

wa代码:

#include <bits/stdc++.h>
using namespace std;const int inf = 0x3f3f3f3f;
const int maxn = 1e4 + 10;
int maxtri[maxn][maxn];
int vis[maxn];
int dis[maxn];
int n;
int prime(int s) {int ans = 0;for (int i = 1; i <= n; i++) dis[i] = inf;dis[s] = 0;for (int i = 1; i <= n; i++) {int _min = inf;int k;for (int i = 1; i <= n; i++) {if (!vis[i] && dis[i] < _min) {_min = dis[i];k = i;}}vis[k] = 1;ans += dis[k];for (int j = 1; j <= n; j++) {if (!vis[j] && maxtri[k][j] < dis[j])dis[j] = maxtri[k][j];}}return ans;
}
int main() {scanf("%d", &n);int _min = inf;for (int i = 0; i < n; i++) {int a;scanf("%d", &a);_min = min(_min, a);}for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {scanf("%d", &maxtri[i][j]);}}printf("%d\n", prime(1) + _min);
}

coj #10066新的开始(最小生成树)相关推荐

  1. 61.新的开始(最小生成树)

    文件名:newstart.cpp 输入输出文件:newstart.in.newstart.out 时空:50M,1s [题目描述] 发展采矿业当然首先得有矿井, 小 FF 花了上次探险获得的千分之一的 ...

  2. 数据结构与算法(7-3)最小生成树(普里姆(Prim)算法和克鲁斯卡尔(Kruskal)算法)

    目录 一.最小生成树简介 二.普里姆算法(Prim) 1.原理 2.存储 2-1.图顶点和权: 2-3. 最小生成树: 3.Prim()函数 3-1.新顶点入树 3-2.保留最小权 3-3. 找到最小 ...

  3. 最小生成树(MST)介绍及C/C++代码

    文章目录 前言 一.最小生成树是什么? 二.最小生成树的算法 1.Prim算法 2.Kruskal算法 总结 前言   最小生成树也是在路由算法设计中常用到的一种树,其可保证全局的权重和最小.如果权重 ...

  4. #2020.02.05训练题解#最小生成树入门(F题)

    题源CF-1108 CF-1108-MST Unification Description You are given an undirected weighted connected graph w ...

  5. 《程序设计解题策略》——1.2 利用最小生成树及其扩展形式解题

    本节书摘来自华章计算机<程序设计解题策略>一书中的第1章,第1.2节,作者:吴永辉 王建德 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.2 利用最小生成 ...

  6. 「日常训练」 Genghis Khan the Conqueror(HDU-4126)

    题意 给定\(n\)个点和\(m\)条无向边(\(n\le 3000\)),需要将这\(n\)个点连通.但是有\(Q\)次(\(Q\le 10^4\))等概率的破坏,每次破坏会把\(m\)条边中的某条 ...

  7. 非严格次小生成树+严格次小生成树

    非严格次小生成树+严格次小生成树 非严格次小生成树:首先使用最小生成树算法将最小生成树求出来,将生成树建图,然后用倍增维护树上的最大值. 考虑将所有的非树边一次加入最小生成树,并将新边与最小生成树形成 ...

  8. 【UOJ #108】【APIO 2013】TOLL

    http://uoj.ac/problem/108 好神的一道题啊. 原图边权互不相同是重点! 如果有一个点集,有两组边集,要求这两组边集的并集的最小生成树,可以对两组边集分别求一下最小生成树构成新的 ...

  9. 基于C++的中国行政区域图染色与信息查询 课程论文+任务书+代码

    资源下载地址:https://download.csdn.net/download/sheziqiong/85749631 资源下载地址:https://download.csdn.net/downl ...

  10. HDU 4126 Genghis Khan the Conqueror MST + 树形DP 2011年福州现场赛F题

    题目大意: 就是现在给出一个图, N个点, M条边, N <= 3000, M <= N*N, 但是没有重边, 每条边都有一个权值, 图中没有自环 现在给出Q次询问, 每次询问表示如果更改 ...

最新文章

  1. 六层感知神经网络系统
  2. 计算机视觉行业迎来大发展,多角度解读未来前景
  3. mysql导出bacpac_数据库的迁移
  4. 技术人的少年感,和年龄无关。
  5. 计数排序、桶排序和基数排序
  6. 图像融合亮度一致_重磅干货低光图像处理方案
  7. 64位linux并行计算大气模型效率优化研究,64位Linux并行计算大气模型效率优化研究...
  8. pytorch1.7教程实验——迁移学习训练卷积神经网络进行图像分类
  9. 用idea给java项目打jar包
  10. 在 Android* 平台上设置原生 OpenGL ES*
  11. JSTL流程控制操作--c:if,c:choose,c:when,c:other
  12. mysql msdtc 不支持_MSDTC 服务意外地在 Windows Server 2012 或 Windows Server 2008 R2 SP1 中停止...
  13. 辉哥基于android S 分析过度动画以及窗口动画
  14. 【Git】查看改动文件清单
  15. 2021年胡润中国百富榜研究报告
  16. ElasticSearch分布式搜索引擎安装教程
  17. 微信小程序校园论坛+后台管理系统|前后分离VUE
  18. apmserv mysql,APMServ MySQL 1577错误解决方法
  19. apriori算法 python实现
  20. 每日任务:1276. 不浪费原料的汉堡制作方案

热门文章

  1. 天才在左疯子在右 读书笔记
  2. 手机上将mp4转换成amv_如何在Linux上将所有文本从大写转换为小写?
  3. 关于OpenCV for Python入门-face_recognition实现人脸识别
  4. 粒子群算法基本原理与编程
  5. mongodb——mongo笔记*
  6. 决策树一CART算法(第一部分)
  7. 渗透测试-Kali Linux 正确清理垃圾的姿势
  8. 美国卡尔顿学院计算机专业怎么样,如何获得美国名校卡尔顿学院录取?
  9. line划线计算机图像学,《计算机图形学基础》OpenGL中点画线法画直线(同时支持k1和k1的情况)...
  10. 华为ensp cloud(云)中没有网卡,缺失网卡,网卡地址错误解决方法