這道題資料很小所以我們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...