gpt4 book ai didi

algorithm - 元素重量取决于所选元素的背包问题

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:38:06 26 4
gpt4 key购买 nike

假设有students[]ages[] , subjectsFailed[]subjectsTaken[] .假设每个学生的质量指数是subjectsFailed[i]/subjectsTaken[i] .我需要选择学生,以便他们的年龄总和达到最大值 averageQualityIndex <= x在哪里

averageQualityIndex = ∑subjectsFailed[k]/∑subjectsTaken[k]其中 k 是选择的学生。

在正常的背包问题中,权重是独立的。但是,在这种情况下,平均权重将取决于到目前为止选择的学生人数和他们各自的权重。有没有一种方法可以使用背包解决这个问题(最佳解决方案),或者有一些其他方法可以解决这个问题(如果是,那么什么方法?)。

最佳答案

您想满足约束 ∑subjectsFailed[k]/∑subjectsTaken[k] <= x .

两边乘以 ∑subjectsTaken[k] , 这变成了 ∑subjectsFailed[k] <= x.∑subjectsTaken[k] .

重新排列我们发现∑(subjectsFailed[k]-x.subjectsTaken[k]) <= 0∑weights[k] <= 0其中 weights[k] = subjectsFailed[k]-x.subjectsTaken[k] .

所以有了这个权重的定义,它又变成了一个背包问题。

关于algorithm - 元素重量取决于所选元素的背包问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52486793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com