/*
可以說是揹包問題吧:揹包容量為k組,從n個中挑k組
因為要平方差最小的,故配組的時候一定是相鄰的兩個,共有n-1組,求出每組的平方差
所求就變成了從n-1個數中跳k個和最小的(好像挺簡單,但是不能把同乙個物品搬兩次吧,
求相鄰的兩個數的平方差的時候,除了頭尾,其餘物品都算了兩次)
所以用動態規劃
*/#include#includeusing namespace std;
#define min(a,b) ((a)<(b)?(a):(b))
int d[2005][1005],dat[2005];
int n,k;
void dp()
int main()
return 0;
}
HDU 1421 搬寢室 類似揹包DP
思路 把重物從小到大排序,計算出每2個相鄰的重物產生的疲勞度,放在p i 陣列中,表示i與i 1這2個重物產生的疲勞度。dp i j 表示進行到第i個物品 i前面的物品不一定都選了,跟揹包差不多,i表示進行到第i個物品 已經選了j對物品 產生的最小疲勞度。初始化 先把所有值賦值為inf 無窮大 然後...
hdu 1421 搬寢室 dp問題
以前雖然寫過dp問題,但思想上過不去,覺得dp跟遞迴似乎是一樣的,今天寫過這道題後才頓悟 dp與遞迴不是一樣的。狀態方程dp n k min dp n 1 k dp n 2 k 1 w i w j 2 唉,終於發現思想上有所改變了,不過 實現能力不足,在對dp陣列初始化的問題上浪費了n多精力和時間 ...
動態規劃 hdu 1421 搬寢室
problem description 搬寢室是很累的,xhd深有體會.時間追述2006年7月9號,那天xhd迫於無奈要從27號樓搬到3號樓,因為10號要封樓了.看著寢室裡的n件物品,xhd開始發呆,因為n是乙個小於2000的整數,實在是太多了,於是xhd決定隨便搬2 k件過去就行了.但還是會很累,...