降維 傳紙條

2022-05-04 02:03:08 字數 464 閱讀 4269

\(m\times n\)的網格,每個格仔有乙個值,從\((1,1)\)到\((m,n)\)的和從\((m,n)\)到\((1,1)\)的路線,分別只能走右下和左上,同乙個格仔的值只能取一次,

最後能取得的最大值是多少

\(1\leq m,n\leq 50\)

將從終點到起點看作是從起點到終點,是相同的。

四維的話複雜度是\(50\times 50 \times 50\times50 =6.25\times 10^\)

通過壓縮範圍將列通過行列和計算得出,

狀態轉移有四個

#includeusing namespace std;

#define rep(i,a,n) for(int i=a;i=1 && j1<=n &&j2>=1 &&j2 <= n)}}

printf("%d\n",f[m+n][m][m]);

}

nyoj 傳紙條(一)

費用流,這道題的關鍵在於建圖,看了一下大牛的部落格,想了這道題 總結一下思路 首先對於這種單一走路的題,一定要有拆點的思路對於這道題關建就在於 拆點,首先讓我們想一下,怎麼讓乙個點只走一下呢,這就是插電的精髓 然後加一條邊,容量為 1,費用為當前數值的一條邊,然後把這個點的右方 下方的點加一條邊,左...

nyoj 傳紙條(一)

這題是一道動規題目,原本打算在原矩陣上動手腳 預處理 發現預處理只能找一條路的最大值!於是,如何判重就非常重要了!於是絞盡腦汁!如果做標記的話預處理就沒有用了!換乙個思路 題目求來回兩條路的最大值,然而發現去的路反過來也可以當回來的路 意思就是選中一條路,既可以當回去的路,也可以當去的路 那麼我從起...

動態規劃 傳紙條

這一道題的思路很簡單,暴力dp都可以過 就是用4個for 但是有可能會爆空間。先來講講暴力dp的思路吧 這一道題可以看成是求乙個人從左上角到右下角走兩次所經過路線的最大值,所以用兩個for來列舉第一次走的橫縱座標,另外兩個for來列舉第二次做的橫縱座標,一共分四種情況 1 f i j k l f i...