100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 分治算法求最大最小值c语言 [蓝桥杯][算法提高VIP]和最大子序列 (C语言代码)分治法...

分治算法求最大最小值c语言 [蓝桥杯][算法提高VIP]和最大子序列 (C语言代码)分治法...

时间:2023-09-05 06:41:17

相关推荐

分治算法求最大最小值c语言 [蓝桥杯][算法提高VIP]和最大子序列 (C语言代码)分治法...

解题思路:

注意事项:

参考代码:#include

#include

#include

#include

#include

#include

usingnamespacestd;

constintmaxn=100001;

inta[maxn];

intmaxsum(int*A,intx,inty)//返回左闭右开区间[x,y)中的最大连续和

{

intv,L,R,maxs;

if(y-x==1)returnA[x];

intm=x+(y-x)/2;//划分

maxs=max(maxsum(A,x,m),maxsum(A,m,y));

v=0;

L=A[m-1];

for(inti=m-1;i>=x;--i)//合并

{

L=max(L,v+=A[i]);

}

v=0;

R=A[m];

for(inti=m;i

{

R=max(R,v+=A[i]);

}

returnmax(maxs,L+R);

}

intmain()

{

intT;

scanf("%d",&T);

for(inti=0;i

{

scanf("%d",&a[i]);

}

printf("%d\n",maxsum(a,0,T));

return0;

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。