My First Blog on cnblogs (现代程序设计 Homework-01)
Hello CNBLOGS!Hello Everyone!
这是我的第一篇blog,所以这也是一篇试验性的blog。
这个学期我和很多同学一样选修了邹欣老师的现代程序设计这门专业课。第一次看到使用GitHub、写博客这样高大上的作业要求,我感觉很兴奋也很有压力。也希望能在这门课上通过自己的努力,取得更多的收获和更大的进步。
这里要说明一点:“第一次作业的截止日期是9月20号”,可是这个消息发布的时候却恰逢中秋佳节,我和不少同学一样都不在学校。而当我22号回来的时候才发现了“迟交作业者一律0分”的这个悲情消息。
助教学长:第一次的作业确实不是本人故意不交,实在是事出有因,所以在此向您表示道歉,希望您能原谅。不奢求能加回什么分数,但求把情况说明,以后避免这类问题再次发生。
那么现在补完成第一次作业的内容:
#include <iostream>
using namespace std;
int main()
{
int i,n,f[][]={},a[]={};
printf("Please enter the number of input:");
scanf("%d",&n);
printf("Then please enter your input:");
for(i=;i<=n;i++){
scanf("%d",&a[i]);
}
f[][]=a[];f[][]=a[];
for(i=;i<=n;i++){
if(f[][i-]+a[i]>=f[][i-] && f[][i-]+a[i]>=a[i])f[][i]=f[][i-]+a[i];
if(f[][i-]+a[i]<=f[][i-] && f[][i-]>=a[i])f[][i]=f[][i-];
if(f[][i-]+a[i]<=a[i] && f[][i-]<=a[i])f[][i]=a[i];
if(f[][i-]>=)f[][i]=f[][i-]+a[i];
else f[][i]=a[i];
//f[0][i]=f[1][i-1]+a[i] f[0][i-1] a[i];
//f[1][i]=f[1][i-1]+a[i] a[i]
}
printf("The maximum value of sub-array is :%d\n",f[][n]);
system("pause");
return ;
}
算法描述:
对于输入一维数组a[]  定义
f[0][i] 表示从a数组第0号元素到第i号元素的子数组中的 最大子数组和
f[1][i] 表示从a数组第0号元素到第i号元素的子数组中的 最大子数组和(其中a[i]元素必须被选取)
则存在以下递推式:
f[0][i]=max{f[1][i-1]+a[i],f[0][i-1],a[i]}
f[1][i]=max{f[1][i-1]+a[i],a[i]}
所求出f[0][n]即为题目要求从a数组第0号元素到第n号元素的子数组中的 最大子数组和
算法时间复杂度O[n]
所解决元素规模与a数组定义的大小有关(故本例只能解决1000个元素以下的问题)
至此这篇blog差不多就结束了哈,祝好~! Elendir
My First Blog on cnblogs (现代程序设计 Homework-01)的更多相关文章
- 现代程序设计homework——04
		
题目: 详见:http://www.cnblogs.com/xinz/p/3341551.html 题目本身确实很难,“很难想到一个比较优雅的算法”,这是一个老师请来专门讲解这道题的大牛的原话.确实, ...
 - My new Blog on cnblogs
		
My New Blog 这是菜鸡Herself32在博客园新开的Blog,一部分文章会同时加载到这里. 也欢迎访问主站:https://herself32.github.io QwQ
 - My First Blog in Cnblogs
		
终于打算从csdn搬到博客园了 虽然在csdn只写过三篇文章,不过打算写第四篇的时候发现原先的三篇都消失了.联系客服最终还是找回了,不过对于csdn神奇的管理方式还是不放心,也没在csdn上再写过文章 ...
 - My first blog on cnBlogs!
		
以后会长期更新自己的心得体会!以此锻炼自己,奋发向前.
 - my first blog by cnblogs
		
#include <stdio.h> int main() { printf("hello everyone."); ; } 上面为我的第一个C语言测试代码,仅供初学者 ...
 - Here is a test page for my new blog in cnblogs
		
Tell me if I can use Fomula like LaTeX $$\sum\limits_{i = 1}^{n}a_i$$
 - 阅读摘录《javascript 高级程序设计》01
		
前言: 因为工作需要,所以开始主攻前台JS方面的技术.在以前的工作中,使用过这门脚本语言.但是都是比较凌乱的,用到什么学什么,只是为了实现业务,而去使用. 不会考虑到代码优化,封装对象等.今次特意借了 ...
 - 标准C程序设计七---01
		
Linux应用 编程深入 语言编程 标准C程序设计七---经典C11程序设计 以下内容为阅读: <标准C程序设计>(第7版) 作者 ...
 - javascript高级程序设计--笔记01
		
概述 JavaScript的实现包含三个部分: 1 核心(ECMAScript) 提供核心语言功能 2 文档对象模型(DOM) 一套提供了访问以及操作网页内容的API 3 浏览器对象模型( ...
 
随机推荐
- HDU 2836 Traversal  简单DP + 树状数组
			
题意:给你一个序列,问相邻两数高度差绝对值小于等于H的子序列有多少个. dp[i]表示以i为结尾的子序列有多少,易知状态转移方程为:dp[i] = sum( dp[j] ) + 1;( abs( he ...
 - iosUITextField属性
			
@property UITextField *caption; caption = [[UITextField alloc] initWithFrame:CGRectMake(, self.frame ...
 - tahoma字体对中文字的影响
			
一提到tahoma字体大家都会想到,它是一个英文字体,对中文不会有影响. 但是今天就遇到一个问题,tahoma字体会影响中文字的显示,如: html代码: <div class="bo ...
 - hdu 3433 A Task Process(dp+二分)
			
题目链接 题意:n个人, 要完成a个x任务, b个y任务. 求,最短的时间 思路:由于时间较大,用 二分来找时间. dp[i][j]表示 i个人完成j个x任务, 最多能完成的y任务个数 这个题 不是很 ...
 - poj 1195 Mobile phones(二维树状数组)
			
树状数组支持两种操作: Add(x, d)操作: 让a[x]增加d. Query(L,R): 计算 a[L]+a[L+1]……a[R]. 当要频繁的对数组元素进行修改,同时又要频繁的查询数组内任一 ...
 - .net项目的svn Global ignore pattern
			
*.o *.lo *.la *.al .libs *.so *.so.[0-9]* *.a *.pyc *.pyo __pycache__ *.rej *~ #*# .#* .*.swp .DS_S ...
 - iOS开发:mac使用svn管理项目
			
记录mac下常用的svn命令: 1.检出项目: svn checkout .../svn/projectName --username=xxx --password=xxx //将ip换成svn服务器 ...
 - ASP.NET中MEMCACHED
			
一,准备 你需要有一下软件: VS.NET(05/08) SQLSERVER memcached服务器端以及客户端类库(开源软件,下载即可)其中,客户 ...
 - CodePage代码,MultiByteToWideChar
			
Identifier .NET Name Additional information 37 IBM037 IBM EBCDIC US-Canada 437 IBM437 OEM United Sta ...
 - UVA 1659 Help Little Laura 帮助小劳拉 (最小费用流,最小循环流)
			
(同时也是HDU 2982,UVA的数据多) 题意:平面上有m条有向线段连接了n个点.你从某个点出发顺着有向线段行走,给走过的每条线段涂一种不同的颜色,最后回到起点.你可以多次行走,给多个回路涂色(要 ...