《大连续子序列和.ppt》由会员分享,可在线阅读,更多相关《大连续子序列和.ppt(6页珍藏版)》请在三一办公上搜索。
1、最大连续子序列和,能量宝石(energy),题目描述欢乐谷中有若干个宝石排成一行,这些宝石,有些是正能量,有些是负能量。相邻的若干个宝石可以合并到一起,合并的时候发出能量,能量值为这些合并在一起宝石各自能量之和。你可以从任何一颗宝石开始到任何一颗宝石为止,但是必须是连续取。如何获得最大能量呢?方案可能不唯一,你只要输出这个最大能量即可。,输入格式共两行第一行,一个正整数 n(n=3000),表示宝石的数量;第二行,n 个整数,分别表示n 个宝石各自的能量xi(-1000=xi=1000)。输出格式一个整数,表示连续若干颗宝石合并后的能量的最大值。输入样例5-3 5-1 4-2输出样例8数据规模
2、0n=3000-1000=xi=1000,算法一(o(n3)),for i:=1 to n do for j:=i to n do begin sum:=0;for k:=i to j do sum:=sum+ak;if summax then max:=sum;end;,算法二:改进(o(n2)),for i:=1 to n do sumi:=sumi-1+ai;for i:=1 to n do for j:=i to n do if sumj-sumi-1max then max:=sumj-sumi-1;,算法三:o(n),ans:=a1;max:=a1;for i:=2 to n do begin if maxans then ans:=max;end;,