序列雙段最大子段和問題
(也許很水但蒟蒻剛剛學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 定義...