2017-05-09 193 views
2

我最近遇到肚裏 這樣一個問題:如何優化我的解決方案?

學生給出的 問題N多和T時間的總額。每個問題 需要不同的時間來完成,並攜帶 不同的標記。問題要求找到 學生可以獲得的最大分數 嘗試T 時間內的N個問題中的一些(假設如果嘗試提問,則必須完全完成 ,不允許部分嘗試 問題) 。

我試圖通過計算這需要 < = T秒就可以完成所有的問題可能 組合來解決這個問題,但很快就發現了 其無效的大型數據集。

如何優化我的解決方案?有沒有 替代解決方案?

+1

一個變種你知道什麼樣的問題會被學生企圖?有沒有一個給定的輸入?什麼編程語言?到目前爲止你做了什麼? – DCON

+1

我投票結束這個問題作爲題外話,因爲它不是專門關於編程,而且似乎更多的是一個數學問題。 –

+0

@Donnacha我需要找到應該嘗試的問題。 (輸入包含問題列表(我的意思是關聯時間和標記)) –

回答

4

它看起來像衆所周知的Knapsack Problem

+2

你是對的,甚至比一維裝箱問題更具體。 :) – Kev