北大資訊學院的同學小明畢業之後打算創業開餐館.現在共有n 個地點可供選擇。小明打算從中選擇合適的位置開設一些餐館。這 n 個地點排列在同一條直線上。我們用乙個整數序列m1, m2, ... mn 來表示他們的相對位置。由於地段關係,開餐館的利潤會有所不同。我們用pi 表示在mi 處開餐館的利潤。為了避免自己的餐館的內部競爭,餐館之間的距離必須大於k。請你幫助小明選擇乙個總利潤最大的方案。
標準的輸入包含若干組測試資料。輸入第一行是整數t (1 <= t <= 1000) ,表明有t組測試資料。緊接著有t組連續的測試。每組測試資料有3行,
第1行:地點總數 n (n < 100), 距離限制 k (k > 0 && k < 1000).
第2行:n 個地點的位置m1 , m2, ... mn ( 1000000 > mi > 0 且為整數,公升序排列)
第3行:n 個地點的餐館利潤p1 , p2, ... pn ( 1000 > pi > 0 且為整數)
對於每組測試資料可能的最大利潤
copy
23 11
1 2 15
10 2 30
3 16
1 2 15
10 2 30
4030
#include#include#include#includeusing namespace std;
int a[1005],b[1005],dt[1005][2];
int main()
dt[i][1]=max(dt[j][0],dt[j][1])+b[i];
}dt[i][0]=max(dt[i-1][1],dt[i-1][0]);
}p=max(dt[n][0],dt[n][1]);
cout<}
return 0;
}
高階動態規劃
高階dp為什麼複雜,第一 狀態定義 第二 狀態轉移方程 它的複雜度 於什麼地方 1 狀態擁有更多維度 二維,三維,或者更多,甚至需要壓縮 比如斐波那契只需要兩個變數 每個維度是什麼,邏輯清晰 2 狀態轉移方程 編輯距離 給你兩個單詞 word1 和 word2,請你計算出將 word1 轉換成 wo...
動態規劃題目特性
1 此類問題是乙個由多決策產生最優值的最優化問題.決策 是指在問題可以按時間順序分成若干相互聯絡的階段,每乙個階段都需要做出決策,產生最優值,整個求解過程中的決策是乙個決策序列.最優化問題 眾所周知在資訊學之中有四大類問題 判定性問題 構造性問題 計數問題和最優化問題。其中最優化問題遇到的較多,而最...
動態規劃 經典題目
made by syx time 2010年7月17日 13 58 47 矩陣連乘 最長公共子串行 最長公共子串行 include char x 8 char y 7 int b 9 8 int c 9 8 void printarray int i1,int j1,int i2,int j2,in...