這是一個問題,沒有人能在我的大學「閃光測試」在我的課正確回答:動態規劃 - 任務調度
我們給出:
INTñ< 1000的時隙
INT [] C:-10 000 < = C [I] < = 10 000支付對應於每個時隙的
INT T:槽數,我們必須使用
問題陳述以下列方式:
懶惰工人具有時間N個時隙中一個總的工作日。
對於每個時間段他得到一定的支付(C [我] - 這不切實際,也可以是負面的)。
他想選擇正好T槽的間隔,以便他能得到最大的付款。我們必須選擇他將工作的時間間隔。例如[1,4] - 從第一個位置到第四個位置。
問題是,每當他休息一下,當他回來工作時,他的第一個工作崗位將不會被支付,因爲他已經習慣了再次工作,就像一個懶惰的人一樣。因此,我們也可以選擇像[5,5]這樣的空白區間,如果我們有負面支付,這可能會派上用場。無論事先支付什麼款項,都將獲得付款0。
使其更清晰,我要舉一個簡單的例子:
比方說,我們有N = 5個時隙,我們要選擇T = 4。 C = {3,9,1,1,7}
最好的解決方案是間隔[1,2]; [4,5]付款總額爲9 + 7 = 16
我們總共覆蓋了T = 4個時隙,解決方案是有效的。