当前位置: 首页 > news >正文

P1550 [USACO08OCT] Watering Hole G

P1550 [USACO08OCT] Watering Hole G

题目描述

Farmer John 的农场缺水了。

他决定将水引入到他的 nnn 个农场。他准备通过挖若干井,并在各块田中修筑水道来连通各块田地以供水。在第 iii 号田中挖一口井需要花费 WiW_iWi 元。连接 iii 号田与 jjj 号田需要 Pi,jP_{i,j}Pi,jPj,i=Pi,jP_{j,i}=P_{i,j}Pj,i=Pi,j)元。

请求出 FJ 需要为使所有农场都与有水的农场相连或拥有水井所需要的最少钱数。

输入格式

第一行为一个整数 nnn

接下来 nnn 行,每行一个整数 WiW_iWi

接下来 nnn 行,每行 nnn 个整数,第 iii 行的第 jjj 个数表示连接 iii 号田和 jjj 号田需要的费用 Pi,jP_{i,j}Pi,j

输出格式

输出最小开销。

输入输出样例 #1

输入 #1

4
5
4
4
3
0 2 2 2
2 0 3 3
2 3 0 4
2 3 4 0

输出 #1

9

说明/提示

对于 100%100\%100% 的数据,1≤n≤3001 \leq n \leq 3001n3001≤Wi≤1051 \leq W_i \leq 10^51Wi1050≤Pi,j≤1050 \leq P_{i,j} \leq 10^50Pi,j105

对于这题,每个田地有两个操作:打井或连接。既然如此,我们可以将井水看作一个虚拟点,每块田地与其相连的代价为 WiW_iWi。随后跑MST即可。

#include<bits/stdc++.h>
using namespace std;int main(){int n;cin>>n;vector<vector<int>> g(n, vector<int>(n+1, 0));for(int i = 0;i<n;i++){cin>>g[i][n];}for(int i = 0;i<n;i++){for(int j = 0;j<n;j++){cin>>g[i][j];}}vector<int> dist(n, 1e9);vector<bool> vis(n, false);for (int i = 0; i < n; i++) {dist[i] = g[i][n];}int ans = 0;for (int it = 0; it < n; it++) {int u = -1;for (int i = 0; i < n; i++) {if (!vis[i] && (u == -1 || dist[i] < dist[u])) {u = i;}}vis[u] = true;ans += dist[u];for (int v = 0; v < n; v++) {dist[v] = min(g[u][v], dist[v]);}}cout << ans;return 0;
}
http://www.dtcms.com/a/315132.html

相关文章:

  • 【达梦MPP(带主备)集群搭建】
  • python包管理器uv踩坑
  • Golang中的`io.Copy()`使用场景
  • Java 的 APT(Annotation Processing Tool)机制详解
  • 【MyBatis-Plus笔记】MyBatis-Plus详解
  • JuiceFS on Windows: 首个 Beta 版的探索与优化之路
  • 【多智能体cooragent】CoorAgent 系统中 5 个核心系统组件分析
  • 【笔记】ROS1|3 Turtlebot3汉堡Burger建SLAM地图并导航【旧文转载】
  • 数学 理论
  • 基于FAISS和Ollama的法律智能对话系统开发实录-【大模型应用班-第5课 RAG技术与应用学习笔记】
  • Fastapi文件上传那些事?
  • 浅谈 Python 中的 next() 函数 —— 迭代器的驱动引擎
  • MCP进阶:工业协议与AI智能体的融合革命
  • Neat Converter电子书格式转换工具,支持ePub、Azw3、Mobi、Doc、PDF、TXT相互转换,完全免费
  • 龙虎榜——20250804
  • numpy数组拼接 - np.concatenate
  • VPS云服务器Linux性能分析与瓶颈解决方案设计
  • java获取文件编码格式,然后读取此文件,适用于任何格式的文件。
  • 面试题:怎么理解3 次握手与 4 次挥手:TCP 连接的建立与终止
  • 【Unity3D】Shader圆形弧度裁剪
  • 思途Spring学习 0804
  • Unity 实现手机端和电脑项目在局域网内通信
  • 【推荐100个unity插件】Unity 的 Hot Reload 热重载实现,加快unity程序编译速度——FastScriptReload插件
  • MySQL InnoDB 表数据结构存储方式详解
  • pathspec ‘with_def_layout‘ did not match any file(s) known to git`
  • Vue 详情header组件
  • Go语言Context
  • ISO(感光度)的工作原理
  • 接口权限(@SaCheckPermission)
  • ebaz4205矿板以太网连接不稳定问题解决方案