1595。连接两组点的最低成本
难度:难
主题:数组、动态规划、位操作、矩阵、位掩码
给你两组点,第一组有大小1点,第二组有大小2点,大小1 >=尺寸2.
任意两点之间的连接成本以大小 1 x size2 矩阵给出,其中 cost[i][j] 是连接点 i 的成本第一组和第二组的 j 点。如果两个组中的每个点都连接到相反组中的一个或多个点,则这些组已连接。换句话说,第一组中的每个点必须连接到第二组中的至少一个点,第二组中的每个点必须连接到第一组中的至少一个点。
返回连接两个组所需的最低成本。
示例1:

1--a 2--b this results in a total cost of 17.
示例2:

1--a 2--b 2--c 3--a this results in a total cost of 4.
请注意,有多个点连接到第一组中的点 2 和第二组中的点 a。这并不重要,因为可以连接的点数没有限制。我们只关心最低的总成本。
示例 3:
约束:
提示:
ReportPlust意在打造一套精美的数据报表模板,里面高度封装日历组件、表格组件、排行榜组件、条形进度条组件、文本块组件以及ucharts的多个图表组件,用户只需要按照虚拟数据的格式,传特定数据即可方便、快捷地打造出属于自己的报表页面。该小程序主要使用了ucharts和wyb-table两插件实现的数据报表功能。 特点使用的是uni-app中最受欢迎的图表uCharts插件完成图表展示,该插件
0
解决方案:
我们可以利用带有位掩码的动态编程。这个想法是通过考虑第一组中的每个点并尝试将其连接到第二组中的所有点来最小化成本。
国家代表:
状态转换:
基本案例:
目标:
让我们用 php 实现这个解决方案:1595。连接两组点的最低成本
<?php
/**
* @param Integer[][] $cost
* @return Integer
*/
function connectTwoGroups($cost) {
...
...
...
/**
* go to ./solution.php
*/
}
// Example usage:
$cost1 = [[15, 96], [36, 2]];
$cost2 = [[1, 3, 5], [4, 1, 1], [1, 5, 3]];
$cost3 = [[2, 5, 1], [3, 4, 7], [8, 1, 2], [6, 2, 4], [3, 8, 8]];
echo connectTwoGroups($cost1) . "\n"; // Output: 17
echo connectTwoGroups($cost2) . "\n"; // Output: 4
echo connectTwoGroups($cost3) . "\n"; // Output: 10
?>
这种方法有效地处理了问题的约束,并确保连接两个组的成本最小。
联系链接
如果您发现本系列有帮助,请考虑在 github 上给存储库 一颗星,或在您最喜欢的社交网络上分享该帖子?。您的支持对我来说意义重大!
如果您想要更多类似的有用内容,请随时关注我:
以上就是连接两组点的最低成本的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号