最佳排程問題

2022-05-15 18:38:44 字數 1220 閱讀 2936

假設有n個任務由k個可並行工作的機器完成,完成任務i需要的時間為ti,對任意給定的整數n和k,以及完成任務i需要的時間ti,設計乙個演算法,求完成這n個任務的最佳排程,使得完成全部任務的時間最早。 

第一行有2個正整數n和k,第二行有n個正整數,表示ti 

n<7000,c樣例輸入

7 3

2 14 4 16 6 5 3

樣例輸出
17
#include

usingnamespacestd;

longlongn,m,a[7001],z[7001],ans=10000000000;

inlinevoiddfs(intk,longlongzhi)

if(zhi>=ans)

return;

for(inti=0;i

}

}

boolqwe(inta,intb)

intmain()

sort(a,a+n,qwe);

dfs(0,0);

cout<}

dfs資料型別前的inline把時間由152ms->140ms,

由大到小排序,把時間從2000++ms->152ms

最佳排程問題

假設有n n 20 個任務由k k 20 個可並行工作的機器完成。完成任務i需要的時間為ti。試設計乙個演算法,對任意給定的整數n和k,以及完成任務i 需要的時間為ti i 1 n。計算完成這n個任務的最佳排程,使得完成全部任務的時間最早。輸入格式 輸入資料的第一行有2 個正整數n和k。第2 行的n...

PTA 最佳排程問題

假設有n n 20 個任務由k k 20 個可並行工作的機器完成。完成任務i需要的時間為ti。試設計乙個演算法,對任意給定的整數n和k,以及完成任務i 需要的時間為ti i 1 n。計算完成這n個任務的最佳排程,使得完成全部任務的時間最早。輸入格式 輸入資料的第一行有2 個正整數n和k。第2 行的n...

問題 I 最佳排程問題

假設有n個任務由k個可並行工作的機器完成。完成任務i需要的時間為ti。試設計乙個演算法找出完成這n個任務的最佳排程,使得完成全部任務的時間最早。對任意給定的整數n和k,以及完成任務i需要的時間為ti,i 1 n。程式設計計算完成這n個任務的最佳排程。給出輸入資料。第一行有2 個正整數n和k。第2 行...