homework-1
看到这个题目开始我只能想到动态规划四个字,但具体采用什么方法,如何写成代码却还未成型。动态规划的典型特点就是利用之前的结果。于是我很快想到了之前一个比较典型的小程序,即求最长的连续字符串。这两个题目有很大的相似之处。我们都要从前向后进行一边扫描获取数值,然后进行动态规划,利用之前运算出的结果推出当前的结果。
例如,3,-7,9,4,-12,6,这一串数字,按照我的思路,应当先设置一个数组存放每个位置为止最大的子串值,并设max为最大字串值。现在设数组t[6].那么t[0]=3。max=3。我们开始扫描,到下标为1的数字时,我们看到3+(-7)=-4〉-7,那么我们取-4下标为1的位置的最大字串值,max=3。继续扫描到9,9+(-4)<9,那么我们取9为下标为2的位置的字串的最大值,继续扫描到4,4+9〉4,那么我们取13为下标为3位置的字串最大值,max=13继续扫描到-12,-12+13〉-12,取1为此位置最大字串值,max=13,继续扫描到6,6+1〉6,取7为此位置最大字串值,max=13。由此,我们知道最大的字串值是13。
这个算法 只用一遍扫描,复杂度即为n,并不复杂。能够快速联系以前学过的知识算是我的解题方法吧。
homework-1的更多相关文章
- bzoj 4320: ShangHai2006 Homework
		
4320: ShangHai2006 Homework Time Limit: 10 Sec Memory Limit: 128 MB Description 1:在人物集合 S 中加入一个新的程序员 ...
 - HDU 1789 Doing Homework again(贪心)
		
Doing Homework again 这只是一道简单的贪心,但想不到的话,真的好难,我就想不到,最后还是看的题解 [题目链接]Doing Homework again [题目类型]贪心 & ...
 - hdu-1789-Doing Homework again
		
/* Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
 - HDU 1789 Doing Homework again (贪心)
		
Doing Homework again http://acm.hdu.edu.cn/showproblem.php?pid=1789 Problem Description Ignatius has ...
 - Doing Homework   状态压缩DP
		
Doing Homework 题目抽象:给出n个task的name,deadline,need. 每个任务的罚时penalty=finish-deadline; task不可以同时做.问按怎样的 ...
 - 机器学习 —— 概率图模型(Homework: Exact Inference)
		
在前三周的作业中,我构造了概率图模型并调用第三方的求解器对器进行了求解,最终获得了每个随机变量的分布(有向图),最大后验分布(双向图).本周作业的主要内容就是自行编写概率图模型的求解器.实际上,从根本 ...
 - hdoj 1789 Doing Homework again
		
Doing Homework again Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
 - homework做了些什么?
		
第一步:get_new_guid_uid_pairs_{$ymd} 参数是时间和100上的文件. 那么100上的文件是从哪里来的呢? 我们进入到100机器上,打开root权限下的cron,看到如下内容 ...
 - HDU 1074 Doing Homework (dp+状态压缩)
		
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1074 题目大意:学生要完成各科作业, 给出各科老师给出交作业的期限和学生完成该科所需时间, 如果逾期一 ...
 - hdu1074 Doing Homework(状态压缩DP Y=Y)
		
Doing Homework Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) T ...
 
随机推荐
- 公交wifi运营平台分析
			
一.前言背景 昨晚下午,老板让看一些车载公交wifi后台管理的一些东西,这个随着移动端设备而兴起的wifi战,慢慢的也会越演越烈. 现在于很多人在外面的时候,进入一家店首先看的不是菜单,而是问一句“你 ...
 - Android移动应用开发中常见的经验技巧总结
			
转:http://wwwdevstorecn/essay/essayInfo/6128.html 1. 对话保持的解决方案. 要求: 1.app中使用webview访问具体网站的内容,但是app与服务 ...
 - python写的第一个简单小游戏-猜数字
			
#Filename:game1.py guess=10 running=True while running: try: answer=int(raw_input('Guess what i thin ...
 - hdu 4961 Boring Sum (思维 哈希 扫描)
			
题目链接 题意:给你一个数组,让你生成两个新的数组,A要求每个数如果能在它的前面找个最近的一个是它倍数的数,那就变成那个数,否则是自己,C是往后找,输出交叉相乘的和 分析: 这个题这种做法是O(n*s ...
 - autofac meta
			
http://kevincuzner.com/2014/05/19/extreme-attributed-metadata-autofac/ http://stackoverflow.com/ques ...
 - [转] 搜索之双向BFS
			
转自:http://www.cppblog.com/Yuan/archive/2011/02/23/140553.aspx 如果目标也已知的话,用双向BFS能很大程度上提高速度. 单向时,是 b^le ...
 - busybox filesystem ifup
			
/******************************************************************** * busybox filesystem ifup * 声明 ...
 - 学习:java设计模式—工厂模式
			
一.工厂模式主要是为创建对象提供过渡接口,以便将创建对象的具体过程屏蔽隔离起来,达到提高灵活性的目的. 工厂模式在<Java与模式>中分为三类: 1)简单工厂模式(Simple Facto ...
 - django --------------------- [必要操作]
			
基本models 命令: python manage.py validate (验证模型有效性, 记得配置 settings.py - INSTALLED_APPS) python manage.py ...
 - Java [Leetcode 136]Single Number
			
题目描述: Given an array of integers, every element appears twice except for one. Find that single one. ...