博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划复习-HDU1231
阅读量:6267 次
发布时间:2019-06-22

本文共 705 字,大约阅读时间需要 2 分钟。

子序列最大和问题,记录开始结束位置。
#include int k, m, st, ed;int a[10001], dp[10001], s[10001], e[10001];int main() {	while (scanf("%d", &k), k) {		for (int i = 1; i <= k; ++i)			scanf("%d", &a[i]);		dp[0] = 0;		s[0] = 0;		e[0] = 0;		for (int i = 1; i <= k; ++i) {			if (dp[i - 1] + a[i] > a[i]) {				dp[i] = dp[i - 1] + a[i];				s[i] = s[i - 1];			} else {				dp[i] = a[i];				s[i] = i;			}			e[i] = i;		}		m = -10000;		st = ed = 0;		for (int i = 1; i <= k; ++i) {			if (dp[i] > m) {				m = dp[i];				st = s[i];				ed = e[i];			}		}		if (m < 0) {			printf("%d %d %d\n", 0, a[1], a[k]);		} else {			printf("%d %d %d\n", m, a[st], a[ed]);		}	}	return 0;}

转载于:https://www.cnblogs.com/sing1ee/archive/2012/02/07/2765012.html

你可能感兴趣的文章
%Error opening tftp://255.255.255.255/cisconet.cfg
查看>>
java读取excel、txt 文件内容,传到、显示到另一个页面的文本框里面。
查看>>
《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
查看>>
python多线程队列安全
查看>>
[汇编语言学习笔记][第四章第一个程序的编写]
查看>>
android 打开各种文件(setDataAndType)转:
查看>>
补交:最最原始的第一次作业(当时没有选上课,所以不知道)
查看>>
Vue实例初始化的选项配置对象详解
查看>>
PLM产品技术的发展趋势 来源:e-works 作者:清软英泰 党伟升 罗先海 耿坤瑛
查看>>
vue part3.3 小案例ajax (axios) 及页面异步显示
查看>>
软件测试(二)之 Failure, Error & Fault
查看>>
浅谈MVC3自定义分页
查看>>
.net中ashx文件有什么用?功能有那些,一般用在什么情况下?
查看>>
select、poll、epoll之间的区别总结[整理]【转】
查看>>
CSS基础知识(上)
查看>>
PHP中常见的面试题2(附答案)
查看>>
角色权限分配
查看>>
明小子动力上传拿webshell.zip
查看>>
ES6 Module export与import复合使用
查看>>
第三篇、image 设置圆角的几种方式
查看>>