DP看博客記錄

1、POJ 2231 Moo Volume(dp)
  題目是求任意一對數之差,即差的絕對值。沒想到這道題也可以用DP,dp[i]表示在排完序的前提下,i參與比任意其小的數差的運算的總和。答案就是dp[1~n]的和。
2、POJ 1260 && HDU 1300 Pearls(dp)
  題目是買n種給定數目和價值的珠寶,但是買某件珠寶必須要多付10顆的價值,省錢方法是多買比他價值大的珠寶來等價購買此珠寶,不需要額外付多餘10顆錢。
  轉移方程 dp[i]=min(dp[i],dp[j]+( sum[i]-sum[j] +10)*val[i])) {0<=j<=i}
3、HDU 1087 Super Jumping! Jumping! Jumping!(dp)
最長上升子序列(可以用DP,也可以用單調隊列)
4、HDU 1466 計算直線的交點數(dp)
題目是求n個直線最多可連成多少個點 ,並輸出所有可能個數,(只存在一個點經過兩條直線)。
將線個數、平行線和點個數分劃分階段。
5、HDU 2501 Tiling_easy version
用2×1、2×2、骨牌去填充2×n網格,求長爲n的網格有多少種求法。
簡單遞推關係 dp[i]=dp[i-1]+dp[i-2]*2。對於比他小2個的網格有兩種方式形成它(一個2×2、或者兩個橫着的2×1,兩個站着的2×1不行會與後面的情況重複),對於比小一個格的只有一種(一個站着的2×1 )。
6、HDU-1619-Unidirectional TSP簡單DP+最小字典序路徑回溯
這道題是給定m x n的矩陣,每個格子都有自己的數字,即爲經過該格子的花費,求從左邊到右邊的最小花費(斜上、斜下、直走)),並輸出路徑(如果花費相同,輸出最小字典序行數的路徑),需要注意的是矩陣上下是相連的。
dp[i][j]代表已走列數、和當前行數。從最後一列往前推爲了保證最小,用區分大小時優先行數小的,同時加上path[i][j]表示j+1的哪一行逆推過來,換言之當前到達下列行數。得出最小值,回溯路徑。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章