基礎 dp系列1

2022-04-29 22:39:15 字數 1158 閱讀 9766

序列雙段最大子段和問題

(也許很水但蒟蒻剛剛學dp就來記錄一下)

題目鏈結

題意就是求序列中的任意兩段的最大子段和最大。

我們先預處理出來字首和,方便求最大子段和。

對於每乙個i都求一遍1到i的最大子段和,即:

pre[1]=a[1

]; minn=min(0,a[1

]);

for(int i=2;i)

其中,a陣列是字首和,直接處理的。

那麼,我們再對n到1的每乙個i求一遍最大子段和,即:

post[n]=a[n]-a[n-1

]; maxn=a[n];

for(int i=n-1;i>1;i--)

那麼,接下來我們要做些什麼?

列舉每乙個i,從1到n-1,求出前i個數的最大子段和和i第i+1個數到n的最大子段和之和的最大值。

即:

ans=-inf;

for(int i=1;i1

]); printf(

"%d\n

",ans);

完整**:

#include#include

#include

#define inf 2147483647

using

namespace

std;

int t,n,a[50001

];int maxn,minn,pre[50001

];int post[50001

],ans;

inline

void

solve()

post[n]=a[n]-a[n-1

]; maxn=a[n];

for(int i=n-1;i>1;i--)ans=-inf;

for(int i=1;i1

]); printf(

"%d\n

",ans);

memset(pre,

0,sizeof

(pre));

memset(post,

0,sizeof

(post));

}int

main()

return0;

}

Flask系列 1 基礎介紹

flask是乙個使用python編寫的輕量級web應用框架。基於werkzeug wsgi工具箱和jinja2 模板引擎。flask使用bsd授權。flask被稱為 microframework 因為它使用簡單的核心,用extension增加其他功能。flask沒有預設使用的資料庫 窗體驗證工具。然...

批處理系列 1 基礎

掃一遍,旨在認識,不在熟悉。常用dos命令 if else語句 for語句 for variable in set do command command parameters options delims tokens skip eol userbackq 變數延遲 解析文字,讀取字串,eol st...

基礎系列(1) html

隨筆雜談,自己做的筆記 結構 xhtml,xml 表現 css 行為 bom,dom,ecmascript 1 doctype html 2 html 3 head 4 meta charset utf 8 5 title title 6head 7 body 8body 9html type 定義...