0 1揹包變體 雙機排程

2021-10-05 23:06:27 字數 842 閱讀 4302

雙機排程問題:有n項任務, 任務i 的加工時間為ti , i=1,2,…,n. 用兩台相同的機器加工,從0時刻開始計時,完成時間是後停止加工機器的停機時間. 問如何把這些任務分配到兩台機器上,使得完成時間達到最小?設給定例項如下:t1=1,t2=5,t3=2,t4=10,t5=3,給出乙個加工時間最少的排程方案。

演算法:dmschedule

輸入:任務數量n、所有任務耗時序列work[n]

①初始化totaltime=0

②for i=0 to n-1

③ totaltime = totaltime + work[i]

④halftime = totaltime/2

⑤for i=0 to halftime

⑥ dp[0][i] = i>work[0] ? work[0] : 0

⑦for k=1 to n-1

⑧ for y=0 to halftime

⑨ if y < work[k] then dp[k][y] = dp[k-1][y]

⑩ else dp[k][y] = max

⑪return totaltime – dp[n-1][halftime]

int dmschedule_dy(int n)

} return totaltime - dp[n - 1][halftime];

}

揹包 01揹包

01揹包 有n種物品與承重為m的揹包。每種物品只有一件,每個物品都有對應的重量weight i 與價值value i 求解如何裝包使得價值最大。dp i,v 表示前i個物體 包括第i個 面對容量為v的揹包的最大價值,c i 代表物體i的重量,w i 代表物體i的價值 如果第i個物體不放入揹包,則揹包...

揹包專題 01揹包

暑假集訓開始了,按照隊裡的分配,我是弄dp的,嘛,於是我又一次的開始了從01揹包開始學習,昨天將杭電的幾道01揹包重新做了一遍,下面講講我自己對於01揹包的理解。首先01揹包題目的雛形是 有n件物品和乙個容量為v的揹包。第i件物品的費用是c i 價值是w i 求解將哪些物品裝入揹包可使價值總和最大。...

01揹包,完全揹包

動態規劃 動態規劃的核心是狀態以及狀態轉移方程。需要定義乙個 i,j 狀態以及該狀態的指標函式d i,j 01揹包 有n種物品,每種只有乙個,第i件物品的體積為vi質量為wi。選一些物品裝到體積為c的揹包中,使其體積不超過c的前提下重量最大。namevw abcd e 子問題定義 dp i j 表示...