章八 erf 最大連續和 求a n

2021-07-30 17:39:55 字數 1013 閱讀 2013

時間複雜度為n^2的,就是列舉起點和終點。

複雜度為nlogn的,用二分

複雜度為n的,比較巧妙。我們先用s[i]=s[i-1]+a[i],將前n個數的和求出來,然後我們要求的是s[j]-s[i]的乙個最大值,也就是說,s[j]確定了的話,我們只需要去讓s[i]最小就行了。

還可以用dp來做,複雜度也為n

這篇部落格b)

//複雜度為n

#include

#include

using

namespace

std;

#define inf 0x3f3f3f3f

int a[1000],s[1000];

int main()

二分,時間複雜度為nlogn,將分為兩個部分,然後答案要麼是左邊的,要麼是右邊的,要麼是中間的。

#include 

#include

#include

#include

#include

using

namespace

std;

int a[1000];

int maxsum(int l,int r)

int main()

//求a^n

#include 

#include

#include

#include

#include

using

namespace

std;

int a,n;

long

long ans=1;

long

long erf(int l,int r)

if(l==r) return a;

}int main()

return

0;}

求最大連續陣列

題目描述 給定乙個二進位制陣列,找到含有相同數量的0和1的最長連續子陣列 1 方法一,暴力破解法,獲取字串的子串,n 2個,然後判斷每個串是否符合0,1個數相同,這樣做的時間複雜度為o n 3 稍微優化,如果乙個長度為n的子串滿足條件,那麼這n個元素的和加起來一定 n 2 這樣的話,迴圈增量加就可以...

最大連續和

這個問題對我來說還挺難的,當初做dp時水過去了,但沒徹底理解,這次打算好好分析一下,爭取徹底搞懂。首先,像 1 1 2 2 3 3 4 4 5 5這樣的數列,想要找連續最大和,可以有很多種方法,從最慢的列舉o n 3 到最快的動態規劃o n 毫無疑問,我們要選擇複雜度低的演算法。所以我這裡就只分析兩...

最大連續和

求陣列中數的最大連續和,如 1,1,1,1,1 最大連續和為3 一 動態規劃 當我們從頭到尾遍歷這個陣列的時候,對於陣列裡的乙個整數,它有幾種選擇呢?它只有兩種選擇 1 加入之前的subarray 2.自己另起乙個subarray。那什麼時候會出現這兩種情況呢?設狀態為f j 表示以s j 結尾的最...