九度 1499 專案安排 一維DP

2022-07-25 03:00:10 字數 837 閱讀 5826

題目描述

總結

1. 和 leetcode palindrome cut 的設定方法類似

2. 時間複雜度為 o(n^2), n 為任務個數

3. 為了優化空間複雜度(同時也優化時間複雜度), dp[i] 表示第 i 個任務的開始時間到 endtime 之間能夠獲得的最大收益

**

/*

* source.cpp

* * created on: 2014-4-4

* author: vincent

*/#include #include #include #include using namespace std;

/* * dp[i] ~ time[i-endtime] 能夠獲得的最大收益

* dp[i] = dp[j] + job.money

* 優化, 把時間 i 替換成第 i 個任務的開始時間

* 這道題和 palindrome cut 類似

*/class job

job()

bool operator <(const job &other) const

};job jobs[10010];

int dp[10010];

int cal(int n)

return dp[0];

}int main()

sort(jobs, jobs+n);

int res = cal(n);

printf("%d\n", res);

} return 0;

}

九度OJ 1499 專案安排 動態規劃

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

題目1499 專案安排

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

NYOJ 720 專案安排(DP)

click here 題意 給出 n 個區間 a,b 每個區間有個權值 wi,如何取不相交的區間,使權值最大。解題思路 估計是一道很經典的題目,目前學習了三種解法。1 如果區間範圍比較小,例如 zoj 3637。則可以用 dp i 表示考慮到數軸中 i 點時的最大值。存區間的時候,不再存入結構體,而...