題解:
用ac**:dp[i][j]
代表從i
個數中取j
對數,首先我們對給定的數排乙個序,使取答案的時候,區域性最優,因為我們有取或者不取兩種狀態,所以當不取的時候我們當前狀態等於上乙個狀態,dp[i-1][j]
,當取的時候,我們上乙個狀態為dp[i-2][j-1]
代表i-2個數取j-1對數
加上取的sqr(a[i],a[i-1])
#include
#include
#include
using namespace std;
const
int maxn =
2e3+5;
int dp[maxn]
[maxn/2]
;int a[maxn]
;int
sqr(
int x,
int y)
intmain()
sort
(a+1
,a+1
+n);
for(
int i=
2; i<=n; i++)}
printf
("%d\n"
,dp[n]
[k]);}
}
二維DP hdu 1421 搬寢室問題
題目鏈結 題目分析 有n樣東西,需要搬k次,每次搬兩個,搬2 k個 求最少力氣。很明顯絕對值差值越小越好,於是讀入n個物品質量後排序,每乙個物品只有可能與前乙個物品或後乙個物品一起搬,絕對值才是可能當前最小。於是有dp思路,二維dp 陣列 dp i j 表示,到達選擇第i個物品時,已經選了j對成功的...
杭電1421 搬寢室
搬寢室是很累的,xhd深有體會.時間追述2006年7月9號,那天xhd迫於無奈要從27號樓搬到3號樓,因為10號要封樓了.看著寢室裡的n件物品,xhd開始發呆,因為n是乙個小於2000的整數,實在是太多了,於是xhd決定隨便搬2 k件過去就行了.但還是會很累,因為2 k也不小是乙個不大於n的整數.幸...
動態規劃 hdu 1421 搬寢室
problem description 搬寢室是很累的,xhd深有體會.時間追述2006年7月9號,那天xhd迫於無奈要從27號樓搬到3號樓,因為10號要封樓了.看著寢室裡的n件物品,xhd開始發呆,因為n是乙個小於2000的整數,實在是太多了,於是xhd決定隨便搬2 k件過去就行了.但還是會很累,...