多路dp 更難的矩陣取數問題

2022-05-01 23:36:20 字數 541 閱讀 2712

解題關鍵:1、注意i和j的最大取值都是n,k是i與j的和。

2、空間卡的很緊,多一位都不行。

轉移方程:$dp = max\'][']['][']\}  + a + a$

通過觀察,可以消去乙個變數,從而

$dp[k + 1] = max\'][']\}  + a + a$

然後再將相同的處理掉即可

1 #include2

using

namespace

std;

3 typedef long

long

ll;4

int a[402][402

];5 ll dp[402][201][201];6

intm,n;

7int

main()14}

15for(int k=2;k<=n+m;k++)23}

24}25 printf("

%lld\n

",dp[n+m][n][n]);

26return0;

27 }

dp 更難的矩陣取數問題

題目 乙個m n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,先從左上走到右下,再從右下走到左上。第1遍時只能向下和向右走,第2遍時只能向上和向左走。兩次如果經過同乙個格仔,則該格仔的獎勵只計算一次,求能夠獲得的最大價值。例如 3 3的方格。1 3 3 2 1 3 2 2 1 能夠獲得...

更難的矩陣取數問題

題目描述 乙個m n矩陣中有不同的正整數,經過這個格仔,就能獲得相應價值的獎勵,先從左上走到右下,再從右下走到左上。第1遍時只能向下和向右走,第2遍時只能向上和向左走。兩次如果經過同乙個格仔,則該格仔的獎勵只計算一次,求能夠獲得的最大價值。例如 3 3的方格。1 3 3 2 1 3 2 2 1 能夠...

矩陣取數問題,51nod1084,多路dp

51nod1084,兩路dp,兩次從 1,1 走到 n,m 拾取路上的珍珠。dp k i j 表示第k步時,乙個人在i列,乙個人在j列,i j k m n k 2 我一般都會將輸入和處理分開來,下面的solve 函式用於處理資料 include include include include inc...