维修道路的最低成本
Minimum cost to repair road
让我们假设有高速公路
点[p1,p2,p3....,pn]有N个坑洞
[s1, s2, s3...., sn] 点的服务人员数量相等
一名服务人员只能修复一个坑洞
在点 pX
派遣工作人员修复点 sX
的坑洞的成本是 |pX-sX|
你如何找到修路的最低成本?
例如:
坑洼在[3, 5, 7]
Service Crew 驻扎在[1, 3, 5]
几种可能的组合是:
1->3, 3->5, 5->7
(费用 = 6)
1->5, 3->7, 5->3
(费用 = 10)
Share/Explain你会用什么算法来解决这个问题?
你的算法的时间和 space 复杂度是多少?
在这个例子中它应该是 6,无论如何!
这是在完全连接的二分图中寻找最大匹配的问题。
如果问题有相同数量的坑洼和船员,那就是完美匹配。
- 目的是找出坑洼P和船员C之间的最大匹配。
- 假设:任何工作人员都可以维修坑洞。
- 匹配条件:
|P(i) - C(j)|
最小。
让我们假设有高速公路
点[p1,p2,p3....,pn]有N个坑洞
[s1, s2, s3...., sn] 点的服务人员数量相等
一名服务人员只能修复一个坑洞
在点 pX
派遣工作人员修复点 sX
的坑洞的成本是 |pX-sX|
你如何找到修路的最低成本?
例如:
坑洼在[3, 5, 7]
Service Crew 驻扎在[1, 3, 5]
几种可能的组合是:
1->3, 3->5, 5->7
(费用 = 6)
1->5, 3->7, 5->3
(费用 = 10)
Share/Explain你会用什么算法来解决这个问题?
你的算法的时间和 space 复杂度是多少?
在这个例子中它应该是 6,无论如何!
这是在完全连接的二分图中寻找最大匹配的问题。
如果问题有相同数量的坑洼和船员,那就是完美匹配。
- 目的是找出坑洼P和船员C之间的最大匹配。
- 假设:任何工作人员都可以维修坑洞。
- 匹配条件:
|P(i) - C(j)|
最小。