动态规划最大子段和问题
#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。
例题
动态规划最大子段和问题相关推荐
- 算法设计与分析———动态规划———最大子段和
问题描述: 最大子段和问题是将一个n个整数的序列a[1],a[2]-.a[n]中字段a[first]-.a[last]之和,(1<=first<=last<=n)求这些子段和中最大的 ...
- 动态规划——最大子段和(hdu1003,1231)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1003 题目描述:寻找一个序列中和值最大的子段序列,例如6,-1,5,4,-7,其最大子段和为 14(6 ...
- 动态规划——最大子段和(洛谷 P1115)
题目选择洛谷P1115 经典的动态规划基础题目,最大连续子序列和 状态转移方程为: dp[i] = max{A[i],dp[i-1]+A[i]} 题目描述 给出一个长度为 n 的序列 a,选出其中连续 ...
- DP动态规划--最大子段和问题
DP–最大子段和问题(动态规划) 问题: 有n个整数组成一个a1,a2,a3,- ,an序列.求其子段和的最大值(子段是连续的) 比如{-2,11,-4,13,-5,-2},最大子段和就是11-4+1 ...
- NOIP复赛复习(一)常见问题与常用策略
数学类问题 1. 精度处理(高精度.实数处理.各种浮点类型处理方法) 2. 组合数学问题(斐波那契数列.第二类数.卡特兰数.Polya原理.排列组合计数.加法原理与乘法原理) 3. 进制问题(特定二进 ...
- 最大子段和——分治与动态规划
问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最大值.当所给的整均为负数时定义子段和为0,依此定义,所 ...
- 算法优化:最大m个子段和,问题规模从1个子段和扩展到m个,动态规划
最大m个子段和,问题规模从1个子段和扩展到m个,动态规划 问题规模由2个决定,一是子段数m,二是元素个数n,准确的说是最后一个子段终止的标号 b(i,j)定义为:前j个元素中有i个子段,且第i个子段包 ...
- 算法优化:最大子段和,最大子矩阵和,一维,二维情况分析,动态规划
最大子段和,前面b[j]理解的是:终点在j的最大连续子段和,及从k:j最大和 是对b[j]进行动态规划,从k:j最大和:取决于k:j-1的最大和,他大于0的话,就为k:j-1的最大和+arr[j],他 ...
- 最大子段和 分治与动态规划
问题: 给定n个整数(可能为负数)组成的序列a[1],a[2],a[3],-,a[n],求该序列如a[i]+a[i+1]+-+a[j]的子段和的最大值.当所给的整均为负数时定义子段和为0,依此定义 ...
最新文章
- 【bzoj3261】最大异或和 可持久化Trie树
- 使用BeanUtils.copyProperties进行对象之间的属性赋值
- POJ1178枚举三个地方(所有点都去同一个点)
- 基于HTML5手机上下滑动翻页特效
- java 验证服务器宕机_java服务宕机原因查询
- 【Node.js】Node.js安装及环境配置
- centos+docker+jitsimeet视频服务器搭建
- 数据类型--Number类型
- 计算机安装xp蓝屏怎么办,联想笔记本装xp系统蓝屏解决方法
- 删软件怎么用计算机管理员删除,win10卸载软件需要管理员权限,卸载软件没有管理员权限...
- Openlayer图层载入时进行坐标系的转换
- 线性回归--特征缩放
- 在微软工作有多舒服?不加班,最高20天全薪年假,下班有时间玩狼人杀
- 【安卓】[Android]添加google账户 - 您的用户名和密码不匹配,请重试
- 中国四川省自贡市第四人民医院ICU数据库使用指南(Critical care database comprising patients with infection at Zigong Fourth)
- 外星人就在月球背面--读书笔记
- 通达信交易接口可以设定自动止盈止损吗?
- ios执行python脚本_iOS使用python编写脚本自动化打包
- Paper:《The Illustrated Transformer》翻译与解读
- 六个经典故事改变你的职业生涯 之6 分粥的故事
热门文章
- hdu 5639(区间dp)
- Struts2s:select/s:select
- C语言课程设计——学生学籍管理系统
- 自动化与网络工程之间的关系
- BZOJ2326 [HNOI2011]数学作业 【矩阵快速幂】
- error LNK2026: 模块对于 SAFESEH 映像是不安全的(转)
- cogs 1456. [UVa 10881,Piotr's Ants]蚂蚁
- 转账示例(二):service层面实现(本例采用QueryRunner来执行sql语句,数据源为C3P0)...
- linux命令 - alias
- res里面的drawable(ldpi、mdpi、hdpi、xhdpi、xxhdpi)