題解 最大的和

2022-06-14 06:00:14 字數 841 閱讀 4983

解法一:分治思想

#include

#include

#include

using namespace std;

int n,a[200200];

int fun(int l,int r)

sum=0;

for(int i=mid+1;i<=r;i++)//不斷更新右側陣列中元素和的最大值

return max(max(fun(1,mid),fun(mid+1,r)),maxm1+maxm2);//開始遞迴

}int main()

解法二:(暴力模擬)

#include

#include

#include

using namespace std;

int a[200200];

int n;

int fun()//兩次迴圈暴力計算

sum=0;

}return maxm;

}int main()

解法三:(貪心演算法)

#include

#include

#include

using namespace std;

int a[200200];

int n;

int fun() //貪心演算法(時間複雜度最低)

return maxm;

}int main()

最大的和題解 貪心

給定乙個包含整數的二維矩陣,子矩形是位於整個陣列內的任何大小為1 1或更大的連續子陣列。矩形的總和是該矩形中所有元素的總和。在這個問題中,具有最大和的子矩形被稱為最大子矩形。例如,下列陣列 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 其最大子矩形為 9 2 4 1 1 8 它擁有...

最大連續和(題解)

題目描述 給出乙個長度為n 的序列a1,a2,an,求最大連續和。換句話說,要求找到1 i j n,使得ai ai 1 aj 盡量大。輸入格式 第一行輸入n 1 n 50000 接下來1 行輸入序列的n 個元素,第i 1 行為ai ai 10000 輸出格式 輸出乙個數表示最大連續和。樣例輸入輸出 ...

模版 最大子樹和 題解

樹上dp 給出一棵樹,上面有權值,求這個數的子樹的最大權值和。模板題,就是樹上dp。可以想到只要這個樹的子樹的權值大於0就可以選擇,即加上這個權值。所以這個dp的轉移方程是 f i sum nf 0 其中 n 表示這個子樹大小,a i 表示這個子樹的子節點。include using i64 lon...