首页 > 解决方案 > 查找列总和至少达到目标的最小行集

问题描述

我正在尝试编写一个算法来打印以下问题的解决方案:

给定一个目标数组 T = [t 1 , t 2 , ... t n ] 和一组列表 S = { A = [a 1 , a 2 , ... a n ], B = [b 1 , b 2 , ... b n ], ... X = [x 1 , x 2 , ... x n ] },满足 i 之和的条件的具有最低基数的 S 子集是什么子集中每个数组的第 th项至少为 t i ?

例子:

T = [2, 3, 1]

S = {[0, 1, 2], [1, 0, 1], [2, 2, 0]}

满足上述条件的具有最低基数的子集就是集合{[0, 1, 2], [2, 2, 0]}。将每个数组的第 i之和表示为[2, 3, 2],可以看到每个第 i之和都大于或等于 T 的第 i

我查看了其他子集和问题,但无法提出一种有效的算法来解决这个问题。

标签: arraysalgorithmmathsubset-sum

解决方案


推荐阅读