poj2479_简单动态规划

题意:给定一个序列,在这个序列中任取不相交的两段,使得和最大,求最大和

解法:对于每个位置i,保留从开头到该位置能找到最大连续段的和,方法为从前往后扫,保留最大段tmp,和一个能加到位置i的最大数sum,如果sum+A[i]>tmp,则tmp=sum+A[i];如果sum<0则令sum=0,不作贡献;然后从后往前做一遍,做的过程中对于位置i,找出它前面能找到的最大段和它后面能找到的最大段的和最大,代码如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章