線性DP 傳紙條

2021-10-01 23:35:27 字數 1020 閱讀 6612

這道題資料很小所以我們o(n

4)

o(n^4)

o(n4

)也可以過也就是4個狀態去的時候的x1,

x2

x_1,x_2

x1​,x2

​ 和回來的時候的x3,

x4

x_3,x_4

x3​,x4

​座標的最大值。

正解:言歸正傳:

我們如何確定兩個點是否相交呢?是不是我們橫縱座標相等並且我們的x座標或者y座標也相等的時候那麼我們的點一定是相交的。

所以我們只用確定三個狀態就是k:橫

縱座標之

和,x1

我們去的

時候的橫

座標,x

2我們回

來的時候

的橫座標

。那麼對

應的縱坐

標就是k

−他們。

k:橫縱座標之和,x_1我們去的時候的橫座標,x_2我們回來的時候的橫座標。那麼對應的縱座標就是k-他們。

k:橫縱座標

之和,x

1​我們

去的時候

的橫座標

,x2​

我們回來

的時候的

橫座標。

那麼對應

的縱座標

就是k−

他們。這道題dp的屬性就是:最大值。

集合就是:解決一來一回的方案。

last點:我們到這個點的前面4個點(四個方向)

last點一旦確認我們就可以開始找我們的狀態轉換方程了。

#include

using

namespace std;

const

int n=55;

int f[

105]

[n][n]

,ma[n]

[n];

intmain()

}}}}

cout<[n][n]

<}

CH5103 傳紙條 線性dp

描述 給定乙個 n m 的矩陣a,每個格仔中有乙個整數。現在需要找到兩條從左上角 1,1 到右下角 n,m 的路徑,路徑上的每一步只能向右或向下走。路徑經過的格仔中的數會被取走。兩條路徑不能經過同乙個格仔。求取得的數之和最大是多少。n,m 50。輸入格式 第一行有2個用空格隔開的整數n和m,表示有n...

雙線dp(傳紙條)

題意 給乙個矩陣從 1,1 n,m 然後再從 n,m 1,1 並且兩條路線不能有任何乙個位置重疊,求最大和 輸入 第一行輸入乙個正整數t,代表t組輸入 接下來輸入兩個正整數 0題解 一道典型的雙線dp,可以開乙個四維陣列dp 記錄兩個人的狀態每個人都有兩種狀態組合起來有四種,把四種狀態寫出來 dp ...

傳紙條(普通dp)

小淵和小軒是好朋友也是同班同學,他們在一起總有談不完的話題。一次素質拓展活動中,班上同學安排做成乙個 mmm 行 nnn 列的矩陣,而小淵和小軒被安排在矩陣對角線的兩端,因此,他們就無法直接交談了。幸運的是,他們可以通過傳紙條來進行交流。紙條要經由許多同學傳到對方手裡,小淵坐在矩陣的左上角,座標 1...