POJ 3616 Milking Time 動態規劃
題意:一個奶牛在0~N時間段內可被取奶,每次擠奶以後必須休息至少R分鐘才能下次繼續擠奶。有M次可以擠奶的時間段,每次取奶對應三個值:開始時間、結束時間、效率值,每次擠奶的過程不能中斷。求出最大效率值。
解法:首先按照結束時間從小到大排序(按照結束時間排序方便後邊的dp);dp[i]表示第i個擠奶時間段後,效率最大值。
轉移方程如下:
初始化:dp[i] = data[i].eff
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int maxn = 2000 + 10; int N, R, M; int dp[maxn]; struct Node { int ls, re;//開始時間、結束時間 int eff;//效率值 }data[maxn]; bool cmp(Node na, Node nb) { return na.re < nb.re; } int max(int a, int b) { if(a>b) return a; return b; } int main() { while(scanf("%d %d %d",&N, &M, &R)!=EOF) { int i, j; for(i = 0; i < M; i++) { scanf("%d %d %d",&data[i].ls,&data[i].re, &data[i].eff); } sort(data, data + M, cmp); //for(i = 0; i < M; i++) // printf("%d %d %d\n",data[i].ls, data[i].re, data[i].eff); memset(dp, 0, sizeof(dp)); dp[0] = 0; for(i = 0; i < M; i++) { dp[i] = max(dp[i], data[i].eff); for(j = 0; j < i; j++) { if( data[j].re + R <= data[i].ls ) dp[i] = max(dp[i], dp[j] + data[i].eff); else dp[i] = max(dp[i], dp[j]); } } int ans = -1; //for(i = 0; i < M; i++) // ans = max(ans, dp[i]); printf("%d\n",dp[M-1]); } return 0; }
相關推薦
POJ 3616 Milking Time 動態規劃
題意:一個奶牛在0~N時間段內可被取奶,每次擠奶以後必須休息至少R分鐘才能下次繼續擠奶。有M次可以擠奶的時間段,每次取奶對應三個值:開始時間、結束時間、效率值,每次擠奶的過程不能中斷。求出最大效率值
POJ - 3616 Milking Time (動態規劃)
lis 時間 indicate fine sig n) muc class ive Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity
POJ 3616 Milking Time 簡單DP
++ cti als mission i++ mit wid ble turn 題目鏈接:http://poj.org/problem?id=3616 題目大意:M個區間,每個區間一個對應一個效率值-多少升牛奶,區間可能重復,現要求取出來一些區間,要求是區間間隔不能小於R,
POJ 3616 Milking Time(加掩飾的LIS)
interval targe rest style pri scanf cep oss before 傳送門: http://poj.org/problem?id=3616 Milking Time Time Limit: 1000MS Memory Limit
poj 3616 Milking Time(dp,類似於最長上升子序列)
題意:給奶牛擠奶,共m次可以擠,給出每次開始擠奶的時間st,結束擠奶的時間ed,還有擠奶的量ef, 每次擠完奶要休息r時間,問最大擠奶量. 題解:此題靈感來自於最長上升子序列的做法 #include <iostream> #include <cstring>
POJ 3616 Milking Time
題目描述: Bessie is such a hard-working cow. In fact, she is so focused on maximizing her productivity that she decides to schedule her next
POJ 3616 Milking Time(DP,區間和最大)
Milking Time Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9937 Accepted: 4124 Des
POJ-3616 Milking Time 鶸的DP解題報告
題目:Milking TimeTime Limit: 1000MSMemory Limit: 65536KTotal Submissions: 12358Accepted: 5242DescriptionBessie is such a hard-working cow. I
POJ 3616 Milking Time 擠奶問題,帶權區間DP
Milking Time Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 4837 Accepted: 2034 D
POJ 3616 Milking Time DP題解
典型的給出區間任務和效益值,然後求最大效益值的任務取法。 屬於一維DP了。 一維table記錄的資料含義:到當前任務的截止時間前的最大效益值是多少。 注意, 這表示當前任務一定要選擇,但是最終結果是不一定選擇最後一個任務,故此最後需要遍歷找到table陣列的最大值,當然計算
S - Spiderman POJ - 1925 (區間動態規劃)
S - Spiderman POJ - 1925 Dr. Octopus kidnapped Spiderman's girlfriend M.J. and kept her in the West Tower. Now the hero, Spiderman, ha
田忌賽馬 poj 2287 (貪心,動態規劃,貪心+動態規劃)
題目連結 貪心 ;1:如果田忌的最快馬快於齊王的最快馬,比一場 2: 如果田忌的最快馬慢於齊王的最快馬,則用田忌的最慢馬和齊王的最快馬比賽一場 3: 如果田忌的最快馬和齊王的最快馬一樣快,則比較田忌的最慢馬和齊王的最慢
poj 1088滑雪 (動態規劃)
滑雪Time Limit: 1000MSMemory Limit: 65536KTotal Submissions: 59524Accepted: 21672DescriptionMichael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向
POJ 1088 滑雪(動態規劃經典)
滑雪 Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 63875 Accepted: 23387 Description Michael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激。可是為了獲得速度
poj 1088 滑雪-----DP 動態規劃
滑雪 Time Limit:1000MS Memory Limit:65536K Total Submissions:57209 Accepted:20771 Description Michael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激。可是為了
poj 1088 滑雪(動態規劃:記憶化搜尋)
這個題開始想著用動態規劃遞推來做的 但是根本不知從哪裡下手 想了下還是記憶化更方便 我的方法是先把邊界設定為無窮大 每次dfs知道當前點周圍沒有比它還低的位置即可 0ms程式碼如下: #include
POJ 1088 滑雪(動態規劃)(解題報告)
Description Michael喜歡滑雪百這並不奇怪, 因為滑雪的確很刺激。可是為了獲得速度,滑的區域必須向下傾斜,而且當你滑到坡底,你不得不再次走上坡或者等待升降機來載你。Michael想知道載一個區域中最長底滑坡。區域由一個二維陣列給出。陣列的每個數
POJ 1651 Multiplication Puzzle 動態規劃及搜尋
這是一道比較簡單的DP,通過分析可以設最後拿走的牌為i,則所求的最優解就是i左邊和右邊子列的最小連乘積再加上x[a]*x[i]*x[b],因為i將原來的序列劃分為兩個子列,這兩個子列符合“最優子結構”和“重疊子問題”的dp特點,他們的最優解互相之間沒有影響,只會影響全域性問題
Dp Milking Time POJ - 3616
mat bsp urn 時間 clas ios ostream src ++ 題目大意: 一頭奶牛產奶的時間是1-n,農夫有m個時間段可以去收集奶,每次收了奶之後奶牛要休息R時間,求農夫可以收的奶的最大值。 每次自己要想蠻久都想不出怎麽去推,還是做的題太少啦。。。一看題解
Milking Time (poj 3616 簡單DP)
Language: Milking Time Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 5290 Accepted: 2183 Description Bessie is such a