#define NUM 101
int  a[NUM];
int maxsum(int n)
{   int sum=0,b=0;for(int  i=1; i<=n; i++){if(b>0) b+=a[i];else b=a[i];if(b>sum) sum=b;}return sum;
}

我个人认为子段和问题有两个关键点,对当前最大值的判定和对全局最大值的判定。
对当前最大值判定很简单,就是当前最大值是否大于0,如果大于0加上这个值。不然就把当前最大值更改为后一个值(因为如果此时当前最大值应经<=0了,你再加上一个数a[i]必定<=这个数a[i]本身)。
如果当前最大值比全局最大值要大,就把当前最大值赋给全局最大值。
我们来看一组数字:1,-3 , 7 ,8 ,-4 , 12,-10 , 6
很多时候我会想怎么就能认为全局最大值会成功更新呢。
根据上面那一组数,7+8=15,后,当前最大值和全局最大值都更新为15,-4后当前最大值更新为11,而全局最大值依旧为15,再加上12后当前最大值和全局最大值都更新为23。
例题

动态规划最大子段和问题相关推荐

  1. 算法设计与分析———动态规划———最大子段和

    问题描述: 最大子段和问题是将一个n个整数的序列a[1],a[2]-.a[n]中字段a[first]-.a[last]之和,(1<=first<=last<=n)求这些子段和中最大的 ...

  2. 动态规划——最大子段和(hdu1003,1231)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 题目描述:寻找一个序列中和值最大的子段序列,例如6,-1,5,4,-7,其最大子段和为 14(6 ...

  3. 动态规划——最大子段和(洛谷 P1115)

    题目选择洛谷P1115 经典的动态规划基础题目,最大连续子序列和 状态转移方程为: dp[i] = max{A[i],dp[i-1]+A[i]} 题目描述 给出一个长度为 n 的序列 a,选出其中连续 ...

  4. DP动态规划--最大子段和问题

    DP–最大子段和问题(动态规划) 问题: 有n个整数组成一个a1,a2,a3,- ,an序列.求其子段和的最大值(子段是连续的) 比如{-2,11,-4,13,-5,-2},最大子段和就是11-4+1 ...

  5. NOIP复赛复习(一)常见问题与常用策略

    数学类问题 1. 精度处理(高精度.实数处理.各种浮点类型处理方法) 2. 组合数学问题(斐波那契数列.第二类数.卡特兰数.Polya原理.排列组合计数.加法原理与乘法原理) 3. 进制问题(特定二进 ...

  6. 最大子段和——分治与动态规划

    问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最大值.当所给的整均为负数时定义子段和为0,依此定义,所 ...

  7. 算法优化:最大m个子段和,问题规模从1个子段和扩展到m个,动态规划

    最大m个子段和,问题规模从1个子段和扩展到m个,动态规划 问题规模由2个决定,一是子段数m,二是元素个数n,准确的说是最后一个子段终止的标号 b(i,j)定义为:前j个元素中有i个子段,且第i个子段包 ...

  8. 算法优化:最大子段和,最大子矩阵和,一维,二维情况分析,动态规划

    最大子段和,前面b[j]理解的是:终点在j的最大连续子段和,及从k:j最大和 是对b[j]进行动态规划,从k:j最大和:取决于k:j-1的最大和,他大于0的话,就为k:j-1的最大和+arr[j],他 ...

  9. 最大子段和 分治与动态规划

    问题:   给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最大值.当所给的整均为负数时定义子段和为0,依此定义 ...

最新文章

  1. 【bzoj3261】最大异或和 可持久化Trie树
  2. 使用BeanUtils.copyProperties进行对象之间的属性赋值
  3. POJ1178枚举三个地方(所有点都去同一个点)
  4. 基于HTML5手机上下滑动翻页特效
  5. java 验证服务器宕机_java服务宕机原因查询
  6. 【Node.js】Node.js安装及环境配置
  7. centos+docker+jitsimeet视频服务器搭建
  8. 数据类型--Number类型
  9. 计算机安装xp蓝屏怎么办,联想笔记本装xp系统蓝屏解决方法
  10. 删软件怎么用计算机管理员删除,win10卸载软件需要管理员权限,卸载软件没有管理员权限...
  11. Openlayer图层载入时进行坐标系的转换
  12. 线性回归--特征缩放
  13. 在微软工作有多舒服?不加班,最高20天全薪年假,下班有时间玩狼人杀
  14. 【安卓】[Android]添加google账户 - 您的用户名和密码不匹配,请重试
  15. 中国四川省自贡市第四人民医院ICU数据库使用指南(Critical care database comprising patients with infection at Zigong Fourth)
  16. 外星人就在月球背面--读书笔记
  17. 通达信交易接口可以设定自动止盈止损吗?
  18. ios执行python脚本_iOS使用python编写脚本自动化打包
  19. Paper:《The Illustrated Transformer》翻译与解读
  20. 六个经典故事改变你的职业生涯 之6 分粥的故事

热门文章

  1. hdu 5639(区间dp)
  2. Struts2s:select/s:select
  3. C语言课程设计——学生学籍管理系统
  4. 自动化与网络工程之间的关系
  5. BZOJ2326 [HNOI2011]数学作业 【矩阵快速幂】
  6. error LNK2026: 模块对于 SAFESEH 映像是不安全的(转)
  7. cogs 1456. [UVa 10881,Piotr's Ants]蚂蚁
  8. 转账示例(二):service层面实现(本例采用QueryRunner来执行sql语句,数据源为C3P0)...
  9. linux命令 - alias
  10. res里面的drawable(ldpi、mdpi、hdpi、xhdpi、xxhdpi)