題目
最大連續子段和
描述
給出乙個數列(元素個數不多於100),數列元素均為負整數、正整數、0。請找出數列中的乙個連續子數列,使得這個子數列中包含的所有元素之和最大,在和最大的前提下還要求該子數列包含的元素個數最多,並輸出這個最大和以及該連續子數列中元素的個數。
輸入格式
輸入包括兩行,第一行為乙個正整數n,代表有n個正整數。
第二行包括n個整數。每個整數的範圍是-1000000~1000000。
輸出格式
輸出最大和以及該連續子數列中元素的個數。這兩個數之間用空格隔開,每結果佔一行。
輸入樣例
54 -5 3 2 4
輸出樣例
9 3題目分析:
當一開始看題目絕對就是暴力列舉。計算一下時間複雜度,也是完全ok的,所以就進行暴力列舉。
附ac程式
程式如下:
#include #include #include #include #include using namespace std;
int main()
if(n!=0)
else if(cnt==ans&&j-i+1>tot) }}
n--; //逐步縮小範圍
}cout
}
最大連續子段和
最大連續子段和 給定長度為n的整數序列,a 1.n 求 1,n 某個子區間 i,j 使得a i a j 和最大,或者求出最大的這個和。例如 2,11,4,13,5,2 的最大子段和為20,所求子區間為 2,4 窮舉法 3次for迴圈 第1次for迴圈,遍歷陣列所有數字,即確定子段和的首個數字 第2次...
DP 最大連續子段和
最大連續子段和 hdu 1003 1.問題描述 給定一串整數,例如 6 1 5 4 7,求最大連續子段和?2.演算法介紹 此題不能暴力,o n 2 的時間複雜度必然超時。考慮如下演算法 設mi表示前i個整數包含第i個整數的最大連續子段和。sum i,j 表示第i個整數到第j個整數的和,最大連續子段和...
總結 最大連續子段和
給你乙個序列,讓你在其中找一段連續的子串行,使得這個連續的子串行的和是最大的。它實際上有點動態規劃的意思在裡面,設f i 表示以第i個數字作為結尾的連續子串行的和的最大可能值。則 f i max f i 1 a i a i 這裡的 f i 1 a i 實際上表示的就是,讓a i 和以a i 1 結尾...