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...