2017-05-09 84 views
2

我最近遇到肚里 这样一个问题:如何优化我的解决方案?

学生给出的 问题N多和T时间的总额。每个问题 需要不同的时间来完成,并携带 不同的标记。问题要求找到 学生可以获得的最大分数 尝试T 时间内的N个问题中的一些(假设如果尝试提问,则必须完全完成 ,不允许部分尝试 问题) 。

我试图通过计算这需要 < = T秒就可以完成所有的问题可能 组合来解决这个问题,但很快就发现了 其无效的大型数据集。

如何优化我的解决方案?有没有 替代解决方案?

+1

一个变种你知道什么样的问题会被学生企图?有没有一个给定的输入?什么编程语言?到目前为止你做了什么? – DCON

+1

我投票结束这个问题作为题外话,因为它不是专门关于编程,而且似乎更多的是一个数学问题。 –

+0

@Donnacha我需要找到应该尝试的问题。 (输入包含问题列表(我的意思是关联时间和标记)) –

回答

4

它看起来像众所周知的Knapsack Problem

+2

你是对的,甚至比一维装箱问题更具体。 :) – Kev