小编Pau*_*ina的帖子

寻找点,与线上所有其他点的距离总和最小

我一直想知道是否有可能以递归或"分而治之"的方式解决这个问题.这是我的问题的可视化:

在此输入图像描述

Input:
22 // point no 1
35 // point no 2
5  // ...
44
45
20
46

Output: 2 // point with number 2 has got the lowest sum (87)
Run Code Online (Sandbox Code Playgroud)

我知道如何以迭代的方式做到这一点,但我正在考虑更优化的事情.

algorithm recursion line

13
推荐指数
1
解决办法
943
查看次数

具有附加属性的背包算法

当有1个房产时,我确实理解那里发生了什么.当有超过1个属性时,我遇到了解背包问题的问题.

在此输入图像描述

我必须编写一个使用带有2个属性的背包算法的程序.老师告诉我们,它必须在一个3d数组中完成.我无法想象这样的阵列会是什么样子.

让我们说这是我的意见:

4 3 4 // number of records below, 1st property of backpack, 2nd property  of backpack
1 1 1 // 1st property, 2nd property, cost
1 2 2 // 1st property, 2nd property, cost
2 3 3 // 1st property, 2nd property, cost
3 4 5 // 1st property, 2nd property, cost
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

4    // the cheapest sum of costs of 2 records
1 3  // numbers of these 2 records
Run Code Online (Sandbox Code Playgroud)

输出的解释:2组记录适合第1行输入:

(1) - 记录编号1和记录编号3

  1 1 …
Run Code Online (Sandbox Code Playgroud)

algorithm knapsack-problem

12
推荐指数
1
解决办法
1122
查看次数

具有2个属性的背包算法.如何在3d数组中实现它?

当有超过1个属性时,我遇到了解背包问题的问题.当有1个房产时,

我必须编写一个使用带有2个属性的背包算法的程序.老师告诉我们,它必须在一个3d数组中完成.错误的实现将导致O(2 ^ n)处理时间.我无法想象这样的阵列会是什么样子.

让我们说这是我的意见:

4 3 4 // number of records below, 1st property of backpack, 2nd property  of backpack
1 1 1 // 1st property, 2nd property, cost
1 2 2 // 1st property, 2nd property, cost
2 3 3 // 1st property, 2nd property, cost
3 4 5 // 1st property, 2nd property, cost
Run Code Online (Sandbox Code Playgroud)

输出看起来像这样:

4    // the cheapest sum of costs of 2 records
1 3  // numbers of these 2 records
Run Code Online (Sandbox Code Playgroud)

输出的解释:2组记录适合第1行输入:

(1) - 记录编号1和记录编号3 …

algorithm knapsack-problem dynamic-programming

6
推荐指数
1
解决办法
3904
查看次数

找出最便宜的路径,忽略一个成本

我想找到两个顶点之间最便宜的路径,我可以选择一条我可以免费使用的路径,例如:

在此输入图像描述

顶点1和6之间最便宜的路径是1-3-4-5-6 - 我免费进入边缘1-3(费用30),它给我总成本21.

除了逐个检查所有路径之外还有其他方法吗?

graph path dijkstra depth-first-search

5
推荐指数
1
解决办法
160
查看次数