題目描述
總結
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 點時的最大值。存區間的時候,不再存入結構體,而...