DP 2 計數型動規

2021-09-27 08:39:03 字數 528 閱讀 8573

給定m行n列的網格,有乙個機械人從左上角(0,0)出發,每一步可以向下或者向右走一步,問有多少種不同的方式走到右下角.

①最後一步:

②子問題:

對於任意乙個格仔(i,j)

f[i][j] =  f[i-1][j] + f[i][j-1]
①初始條件: f[0][0]=1 《機械人只有一種方式到達左上角》

②邊界情況: i=0或者j=0,則前一步只能有乙個方向過來—>f[i][j] = 1

因為當前轉移方程要用到之前的狀態,所以從第0行開始計算,答案是f[m-1][n-1]

#includeusing namespace std;

int main()

} }cout << vec[m - 1][n - 1] << endl;

return 0;

}

序列型動規

d i 中的i表示前i的元素的某種性質。有一排n棟房子,每棟房子要漆成k種顏色中的一種 任何兩棟相鄰的房子不能漆成同樣的顏色 房子i染成第j種顏色的花費是cost i j 問最少需要花多少錢油漆這些房子 輸入 n 3,k 3 cost 14,2,11 11,14,5 14,3,10 輸出 10 房子...

動態規劃 DP 2

錯排公式 f n n 1 f n 1 n 1 f n 2 遞推 題目1451 不容易系列之一 題目描述 大家常常感慨,要做好一件事情真的不容易,確實,失敗比成功容易多了!做好 一件 事情尚且不易,若想永遠成功而總從不失敗,那更是難上加難了,就像花錢總是比掙錢容易的道理一樣。話雖這樣說,我還是要告訴大...

dp2 合併石子(一)

一 心得 二 題目 時間限制 1000 ms 記憶體限制 65535 kb 難度 3 描述 有n堆石子排成一排,每堆石子有一定的數量。現要將n堆石子並成為一堆。合併的過程只能每次將相鄰的兩堆石子堆成一堆,每次合併花費的代價為這兩堆石子的和,經過n 1次合併後成為一堆。求出總的代價最小值。輸入 有多組...