NYOJ 44 字串和 (最大字串和 線性dp)

2021-08-20 07:57:36 字數 723 閱讀 6033

時間限制:

5000 ms  |  記憶體限制:65535 kb

難度:3

描述

給定一整型數列,找出連續非空子串,使得該子串行的和最大,其中,1<=x<=y<=n。

輸入

第一行是乙個整數n(n<=10)表示測試資料的組數)

每組測試資料的第一行是乙個整數n表示序列中共有n個整數,隨後的一行裡有n個整數i(-100=輸出

對於每組測試資料輸出和最大的連續子串的和。

樣例輸入

1

51 2 -1 3 -2

樣例輸出

5

提示輸入資料很多,推薦使用scanf進行輸入

#includeusing

namespace

std;

int f_max(int a,int

b)int

main()

int dp[n+1

]; memset(dp,

0,sizeof

(dp));

for(int i=1;i<=n;i++)

int x=dp[1

];

for(int i=1;i<=n;i++)

}printf(

"%d\n

",x);

}return0;

}

最大字串和

最大字串和 include using namespace std 求最大字串和 返回最大和 int maxsubsum int a,int len else temp a i if temp sum 如果區域性最大值大於全域性最大值則更新 sum temp return sum 求最大字串和 返回...

nyoj 44 子串和 最大子串和

常見的做法有 列舉區間 動態規劃等。昨天突然想到了乙個o n 的演算法,拿來分享給諸位 我們從後向前看這串數字 5 6 2 3 5 發現倒數第一位就是負數 5 毫無疑問,這個負數肯定不在我的最大子串和裡,因為我們捨去它並不會影響我們鏈結其它有價值的數,所以我們將它拋棄。繼續考察,這時我們遇到了3,我...

NYOJ 題目915 字串(字串,水題)

時間限制 1000 ms 記憶體限制 65535 kb 難度 1 描述shiva得到了兩個只有加號和減號的字串,字串長度相同。shiva一次可以把乙個加號和它相鄰的減號交換。他想知道最少需要多少次操作才能把第乙個字串變換成第二個字串。你現在要去幫助他完成那個這個問題。輸入多組測試資料 每組資料有兩行...