最大子段和與最長遞增子串行(貪心與動態規劃)

2021-08-27 11:46:17 字數 841 閱讀 3141

話不多說先上**。。。。。

給出一段序列,選出其中連續且非空的一段使得這段和最大。

輸入格式:

第一行是乙個正整數nnn,表示了序列的長度。

第二行包含nnn個絕對值不大於100001000010000的整數aia_iai​,描述了這段序列。

輸出格式:

乙個整數,為最大的子段和是多少。子段的最小長度為111。

輸入樣例#1:7

2 -4 3 -1 2 -4 3

輸出樣例#1:4

【樣例說明】

2,−4,3,−1,2,−4,32,-4,3,-1,2,-4,32,−4,3,−1,2,−4,3中,最大的子段和為4,該子段為3,−1,23,-1,23,−1,2.

【資料規模與約定】

對於40%40\%40%的資料,有n≤2000n ≤ 2000n≤2000。

對於100%100\%100%的資料,有n≤200000n ≤ 200000n≤200000。 

#includeint n,j,sum,maxx;

int main()//貪心,如果負了就捨去

return (printf("%d",maxx))&0;//輸出並return 0

}

#include//最長增長子串行 

#define max(x,y) x>y? x:y

int main()

for(i=1;i}

} int max=-1;

for(i=0;iprintf("%d",max);

}

最長遞增子串行問題(最大流)

description 給定正整數序列x1 xn 1 計算其最長遞增子串行的長度s。2 計算從給定的序列中最多可取出多少個長度為s的遞增子串行。3 如果允許在取出的序列中多次使用x1和xn,則從給定序列中最多可取出多少個長度為s的遞增子串行。設計有效演算法完成 1 2 3 提出的計算任務。input...

動態規劃 最長遞增子串行和最長連續遞增子串行

leetcode 674.最長連續遞增序列 題目描述 給定乙個未經排序的整數陣列,找到最長且 連續遞增的子串行,並返回該序列的長度。連續遞增的子串行 可以由兩個下標 l 和 r l r 確定,如果對於每個 l i r,都有 nums i nums i 1 那麼子串行 nums l nums l 1 ...

最長遞增子串行和最長公共子串行(java)

對於求最長遞增子串行和最長公共子串行的問題,最簡單的方法就是動態規劃 給定義一組資料 1,2,4,3,5,6,7,5 最長遞增子串行是 1,2,3,5,6,7,結果為6 思路 dp i 來記錄a i 為結尾的子串行中最大遞增子串行的長度,對於每乙個i,令j從1到i 1遍歷,當a j a i 比較當前...