HDU 2845 Beans 最大不連續子列和

2021-08-05 19:44:45 字數 702 閱讀 5295

beans

題意&分析:

玩「吃豆子」的遊戲,規則如圖:

對於這個二維的問題,我們可以分別對行列做兩次dp。先對每一行求出最大的不連續子列和**移方程:r[ i ] = max( r[ i - 2 ] + r[ i ], r[ i - 1] ),i>=2),注意下標範圍。然後對每一行的最大值求最大不連續子列和,思路同上。

**如下:

#include 

#define inf 0x3f3f3f3f

#define test cout<

namespace

std;

typedef

long

long ll;

const ll mod = 1e9 + 7;

int r[200010],c[200010];

int main()

for(int j=2;j<=n;j++)

c[i] = r[n];

}for(int i=2;i<=m;i++)

cout

<< c[m]

0;}

2017/08/0

HDU 2845 Beans 動態規劃

對於每乙個點由其上一步的結點傳遞過來,存在最優子結構,即對於正確路徑的上的任意一點將都是最優的,並且存在最優子結構。保留最優值的時候注意方法,不然tle。如下 include include include include include define maxn 200000 using names...

hdu 2845(最大不連續子串行)

思路 對於一行來說,相鄰的數不可同時取,容易得到狀態轉移方程 sum i max sum i 2 sum i sum i 1 其中sum i 表示一行前i個數時的最大和 然後把sum m 儲存到另乙個陣列中,對於每一行都這麼做,然後最後在對陣列再次進行一邊這樣的操作就行了 1 include2 co...

最大連續子列和

最大連續子列和 已知有乙個連續的數列,其值可正可負求其連續的最大子列之和。即數列為 1,0,2,3,3,4其最大子列和為2 3為5 一 暴力法 o 每一次都計算從這個位置開始的所有的連續子列和中的最大值,最終求出其最大值。int maxsequence int ptr,int n return ma...