繼續動態規劃 安排問題

2021-06-20 23:34:56 字數 617 閱讀 2610

九度1499:專案安排

九度1463:招聘會

都是時間安排問題,dp陣列下標可以表示時間也可以表示專案數,具體方法可以學習部落格總結的很好。

我自己在做的時候,忘記了先按結束時間排序,如果不按照結束時間先後來安排,如先安排結束晚的,再安排結束早的,那麼先開始早的再開始晚的這種情況就不會被考慮到。另外,專案安排這題雖然用dp陣列下標表示時間是可以正確得出結果的,但由於時間可能很大,遍歷陣列費時,所以很容易超時。ac**如下:

1463:

#include #include #include using namespace std;

struct hui

sort(buf+1,buf+n+1);

int dp[n+1];

memset(dp,0,sizeof dp);

for (int i=1;i<=n;++i)

for (int j=n;j>=i;--j)

if (dp[last]+buf[i].v>dp[j])

dp[j]=dp[last]+buf[i].v;

} printf("%d\n",dp[n]);

} return 0;

}

動態規劃 專案安排

題目描述 小明每天都在開源社群上做專案,假設每天他都有很多專案可以選,其中每個專案都有乙個開始時間和截止時間,假設做完每個專案後,拿到報酬都是不同的。由於小明馬上就要碩士畢業了,面臨著買房 買車 給女友買各種包包的鴨梨,但是他的錢包卻空空如也,他需要足夠的money來充實錢包。萬能的麻煩你來幫幫小明...

動態規劃與貪心演算法之課程安排問題

動態規劃演算法之課程安排 問題 教務處給某乙個教室安排課程,有很多老師都想來這個教室教授他們各自的課。假如第 i 位老師講的第ai 門課程,課程開始時間si 結束時間為fi 那麼教務處的老師就要利用這個時間如何安排課程,使得來這間教室上課的人數最多?舉個例子 最底下為時間軸,每條黑線代表一門課程。我...

任務安排 動態規劃dp 狀態壓縮

馬上假期就要結束了,zjm還有 n 個作業,完成某個作業需要一定的時間,而且每個作業有乙個截止時間,若超過截止時間,一天就要扣一分。zjm想知道如何安排做作業,使得扣的分數最少。tips 如果開始做某個作業,就必須把這個作業做完了,才能做下乙個作業。有多組測試資料。第一行乙個整數表示測試資料的組數 ...