題目描述
給定乙個長度為n的序列a,對於每乙個數都可選或不選,把選出的數有序組成乙個新的序列b,使b序列的「和諧數」最大。
乙個序列的和諧數如下定義:對於位置i,如果第奇數次選的則加上bi,偶數次選的則減去bi
注意:新的序列b必須是從左到右依次在a序列選擇的,即不能打亂順序。
輸入輸入的第一行是乙個n,第二行為n個數,即序列a
輸出 輸出一行乙個整數,即表示最大的和諧數
樣例輸入
51 2 3 4 5
sample input2
61 3 5 4 6 8
樣例輸出
5sample output2
9
資料範圍限制
對於20%的資料,1<=n<=20
對於50%的資料,1<=n<=1000
對於100%的資料,1<=n<=10000000,1<=ai<=100
分析設f[0,i]表示當前這一位是減ai的最大值,得f[
0,i]:=max(f[
0,i-
1],f[
1,i-
1]-a[i]);
設f[1,i]表示當前這一位是加ai的最大值,得f[
1,i]:=max(f[
1,i-
1],f[
0,i-
1]+a[i]);
最後輸出max(f[
0,n],f[
1,n])
程式:
uses math;
varn,i:longint;
a:array[0..10000000]of longint;
f:array[0..1,0..10000000]of longint;
begin
readln(n);
for i:=1
to n do
read(a[i]);
for i:=1
to n do
begin
f[0,i]:=max(f[0,i-1],f[1,i-1]-a[i]);
f[1,i]:=max(f[1,i-1],f[0,i-1]+a[i]);
end;
write(max(f[0,n],f[1,n]));
end.
JZOJ Day 2 普及模擬 串
題目描述 給定乙個0 1串,請找到乙個盡可能長的子串,其中包含的0與1的個數相等。輸入乙個字串,只包含01,長度不超過1000000。輸出 一行乙個整數,最長的0與1的個數相等的子串的長度。樣例輸入 1011 樣例輸出 2 資料範圍限制 30 的資料 串的長度 20 程式 var s ansistr...
NOIP2012普及組T2 尋寶
傳說很遙遠的藏寶樓頂層藏著誘人的寶藏。小明歷盡千辛萬苦終於找到傳說中的這個藏寶樓,藏寶樓的門口豎著乙個木板,上面寫有幾個大字 尋寶說明書。說明書的內容如下 藏寶樓共有 n 1 層,最上面一層是頂層,頂層有乙個房間裡面藏著寶藏。除了頂層外,藏寶樓另有 n 層,每層 m 個房間,這 m 個房間圍成一圈並...
JZ初中OJ 2297 noip普及組2 棋盤
時間限制 1000 ms 空間限制 262144 kb 具體限制 題目描述 眾所周知,西洋棋的棋盤是乙個網格。西洋棋中有一種旗子叫象。象每次移動可以斜著走任意格。即假設乙隻象在網格 x,y 每次移動可以選擇乙個正整數k,使象移到 x k,y k x k,y k x k,y k x k,y k 中的乙...