思路:對於一行來說,相鄰的數不可同時取,容易得到狀態轉移方程:sum[i] = max (sum[i-2]+sum[i], sum[i-1]),其中sum[i]表示一行前i個數時的最大和;然後把sum[m]儲存到另乙個陣列中,對於每一行都這麼做,然後最後在對陣列再次進行一邊這樣的操作就行了;
1 #include2const
int n=200020;3
using
namespace
std;45
inta[n],b[n];67
intmain()
14for(int j=2;j<=m;j++)
17 b[i]=a[m];18}
19for(int i=2;i<=n;i++)
22 printf("
%d\n
",b[n]);23}
24return0;
25 }
HDU 2845 Beans 最大不連續子列和
beans 題意 分析 玩 吃豆子 的遊戲,規則如圖 對於這個二維的問題,我們可以分別對行列做兩次dp。先對每一行求出最大的不連續子列和 移方程 r i max r i 2 r i r i 1 i 2 注意下標範圍。然後對每一行的最大值求最大不連續子列和,思路同上。如下 include define...
HDU 最大連續子串行
最大連續子串行 problem description 給定k個整數的序列,其任意連續子串行可表示為,其中 1 i j k。最大連續子串行是所有連續子串行元素和最大的乙個,例如給定序列,其最大連續子串行為,最大和為20。在今年的資料結構考卷中,要求編寫程式得到最大和,現在增加乙個要求,即還需要輸出該...
HDU 1231 最大連續子串行(最大連續子段和)
description 求最大連續子段和,並輸出此字段的起始位置和終止位置的值 input 多組用例,每組用例第一行為序列長度n,第二行n個整數表示該序列,以n 0結束輸入 output 對每個測試用例,輸出最大連續子段和及其起始位置和終止位置的值,如果序列全為負值則令最大連續子段和為0,而起止位置...