OJ1003

【ZZULIOJ】1003: 两个整数的四则运算 ZZULIOJ题解 1003: 两个整数的四则运算 题目描述 输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。 输入 输入只有两个正整数num1、num2。 输出 输出占一行,包括两个数的和、差、积、商及余数,数据之间用一个空格隔开。 样例输入 1 2 样例输出 3 -1 2 0 1 这一题目的是再次巩固四则运算知识。 代码 #include<stdio.h> int main() { int num1,num2;//定义整 阅读详情

Max Sum
Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 49213    Accepted Submission(s): 10950


Problem Description
Given a sequence a[1],a[2],a[3]......a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.

 

Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line starts with a number N(1<=N<=100000), then N integers followed(all the integers are between -1000 and 1000).

 

Output
For each test case, you should output two lines. The first line is "Case #:", # means the number of the test case. The second line contains three integers, the Max Sum in the sequence, the start position of the sub-sequence, the end position of the sub-sequence. If there are more than one result, output the first one. Output a blank line between two cases.

 

Sample Input
2
5 6 -1 5 4 -7
7 0 6 -1 1 -6 7 -5
//第一个数表示用例数

//a[0]表示字符串个数,a[1]-----a[n-1]为测试用例

//输出最大值,开始终止下标

为Sample Output
Case 1:
14 1 4

Case 2:
7 1 6

 

思路为,重点在于求子序列最大算法

首先设立一个st,end,max为最大子序列索引,最大值,初始值为1,1,负无穷

其次设立一个sum对数组进行“遍历操作”

如果加了之后sum比max大,就更改max相关

为负了,重置

有人会问?介于之间呢?

不用管,因为虽然没有超过max,但只是不为负,可以继续加,万一加着就超过了呢?没超过大于0也比0好啊

 

 

#include "stdafx.h"
#include <stdio.h>
int main(void)
{
	int a, b, sum, max, st, en, e[100000], zo;
	int g = 1;
	scanf_s("%d", &a);
	while (a--)
	{
		st = zo = en = 1;//zo记录sum的开始点
		max = -1001;
		sum = 0;
		scanf_s("%d", &e[0]);
		for (b = 1; b <= e[0]; b++)
		{
			scanf_s("%d", &e[b]);
			sum += e[b];
			if (sum>max)//如果加了之后变大,调整
			{
				max = sum;
				st = zo;
				en = b;
			}
			//如果加了之后在0与max之间呢?也就是加了个e[i]为负,继续加,加到为负了重置,加到超过了调整
			//因为至少还是正数,比变为负数要好
			if (sum<0)//如果为负,重清
			{
				sum = 0;
				zo = b + 1;
			}
		}
		printf("Case %d:\n", g++);
		printf("%d %d %d\n", max, st, en);
		if (a>0)
			printf("\n");
	}
	return 0;
}

 

HIT oj题解1003 - Mixing Milk ** hoj题解1003 ** Problem Description Since milk packaging is such a low margin business, it is important to keep the price of the raw product (milk) as low as possible. Help Merry Milk Makers get the m... 阅读详情

相关推荐

杭电oj 1003 Max Sum(动态规划)

动态规划求最大连续子序列和Problem DescriptionInputOutputSample InputSample Output题目大意解题思路代码说明 题目链接: Max Sum Problem Description Given a sequence a[1],a[2],a[3]…a[n], your job is to calculate the max sum of a sub-...

刘威的博客 838

zzuli OJ 1003:两个整数的四则运算

题目描述 输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。 输入 输入只有两个正整数num1、num2。 输出 输出占一行,包括两个数的和、差、积、商及余数,数据之间用一个空格隔开。 样例输入 1 2 样例输出 3 -1 2 0 1 #include&lt;stdio.h&gt; int main() { &nbsp;int a,b; &nbsp;sca...

小白狼白又白的博客 3177

acm1003题答案

这是acm上第1003题的答案,是通过网站测试的答案,可供参考。

【oj】1003

#include&lt;iostream&gt; #include&lt;math.h&gt; using namespace std; int main() { int a,n,b[n],x,y,sum[n][n]={0}; cin&gt;&gt;a; cout&lt;&lt;endl; int j=0; do{ cout&lt;&lt;"case "&lt;&lt;a&lt;&am

wind_day的博客 459

OJ_字符转换Univesity

只有资源文件,没有入口程序和测试用例,在OJ平台上满分

浙江工业大学acm题解

个人的含有接近60道题目的浙江工业大学ACM题解报告

ZZULIOJ: 1003 两个整数的四则运算

1003:两个整数的四则运算 题目描述 输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。 输入 输入只有两个正整数num1、num2。 输出 输出占一行,包括两个数的和、差、积、商及余数,数据之间用一个空格隔开。 样例输入 1 2 样例输出 3 -1 2 0 1 思路 由题意可知,要求输入两个整数,所以首先要定义两个整型变量(int),该题需要......

高冷学长~的博客 1963

Shop7z网上购物系统旗舰版 v4.2

Shop7z网上购物系统旗舰版集众家之所长大气超美观页面+手机版+微信支付+APP+商品组合套餐+限时抢购秒杀+图片批量上传+淘宝数据包导入+弹出式分类菜单+不同规格不同价格+新订单邮件通

ZZULIOJ:1003: 两个整数的四则运算

输入两个整数num1和num2,请你设计一个程序,计算并输出它们的和、差、积、整数商及余数。输出占一行,包括两个数的和、差、积、商及余数,数据之间用一个空格隔开。时间限制1Sec内存限制30MB。输入只有两个正整数num1、num2。......

心之所向 2628

Jasper Report使用JSON数据源创建报表

最近在做一个项目小功能,表单结案要生成PDF报表。 起初,想用HTML模板(art-template模板引擎)编写,利用浏览器的打印功能保存成pdf文件下载。但是HTML编写好的模板,页码、页眉、页脚设置有坑,表单内容中的表格较多,表格不能设置跨页,导致跨页的表格内容与页眉重叠,没能解决这个问题。 于是,转战研究Jasper report生成报表,用更加专业的报表生成工具来做。刚开始,也是跌跌撞撞,遇到了很多问题,因为觉得没有退路了,必须要用这个搞出来,所以就硬着头皮去找各种资料。 主要使用的json

xiaogege2012的专栏 3319

上机笔试题目:取出指定条件二维数组的子数组

取出指定条件二维数组的子数组: 1)传入参数为: 参数一:String[][]sArray2字符串二维数组 参数二:Stringkey字符串 参数三:StringkeyFormat含匹配符的字符串,如下:%0-%1,其中%x含义如为:一维数据列序号为x的值。 keyFormat 可以为 %0-%1-%2,%0-%3-%8-%x...... 例子如下...

91奔跑的蜗牛 636

杭电OJ 1003Max Sum

杭电OJ 1003Max Sum 链接http://acm.hdu.edu.cn/showproblem.php?pid=1003 思路:其实就是比较sum+新的一个a[i]是否小于a[i],小于则从i,开始计数,不小于则包括i; #include<iostream> #include<cstdio> #include<cstring> using namespace std; typedef long long ll; int a[100010]; int st, e

记录一些刷过的题并分享学习心得 293

Arduino for ESP32-----ESP-NOW介绍及使用

ESP-NOWESP-NOW介绍ESP-NOW支持以下特性ESP-NOW技术也存在以下局限性获取ESP32的MAC地址ESP-NOW单向通信(One-way communication)ESP32单板间的双向通信一对多通信(一发多收)一对多通信(多发一收) ESP-NOW介绍 ESP-NOW是一种由Espressif开发的协议,可以让多个设备在不使用Wi-Fi的情况下相互通信。该协议类似于低功耗的2.4GHz无线连接。设备之间的配对需要在通信之前完成。配对完成后,连接是安全的、点对点的,不需要握手。这意味着

Better_man1的博客 2万+

九度oj 1003

前几天开刷九度oj,准备把做的题都放上,先放1003 题目1003:A+B 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:16923 解决:7029 题目描述: 给定两个整数A和B,其表示形式是:从个位开始,每三位数用逗号","隔开。 现在请计算A+B的结果,并以正常形式输出。 输入:...

weixin_30553065的博客 76

【农业生产系统模型】基于R语言APSIM模型进阶应用与参数优化、批量模拟实践技术

APSIM模型有Classic和Next Generation两个系列模型,能模拟几十种农作物、牧草和树木的土壤-植物-大气过程,被广泛应用于精细农业、水肥管理、气候变化、粮食安全、土壤碳周转、环境影响、农业可持续性、农业生态等诸多与农业生产和科研有关的领域。R语言是一门应用场景广泛、简单易学的程序语言,APSIM模型开发了许多R语言辅助包,在APSIM模型的气候、土壤、管理措施等数据准备,自动化模拟,参数优化和结果分析上都发挥着重要的作用。案例一:APSIM模型输入参数和土壤文件的制备。

2303_79243743的博客 1046

XDMA 驱动安装与性能测试全流程解析

本文详细解析了XDMA驱动的完整安装与性能测试流程。从环境准备、源码获取、编译安装到驱动加载与设备验证,逐步指导用户打通FPGA加速卡与主机间的高速数据通道。重点介绍了如何通过官方测试脚本进行功能验证与带宽性能测试,帮助用户评估XDMA驱动的实际传输效能,为AI推理、高频交易等低延迟高带宽应用奠定基础。

weixin_29216049的博客 525

杭电oj-1003(Max Sum)

给定序列,计算最大的连续子序列和以及对应的开始下标和结束下标。例如,给定 (6,-1,5,4,-7),此序列中的最大和为 6 + (-1) + 5 + 4 = 14,开始下标为1,结束下标为4。本人比较菜所以首先考虑暴力法,保存数组的第一位为max,计算每一个子序列的和与max进行比较,但时间复杂度会达到O(n^3),超时。个人学习经验,欢迎各位指导。

weixin_51670979的博客 1647

Linux内核配置选项详解及编译过程

在内核编译完成后,可以通过重启系统并选择新编译的内核来使用它。可以在该菜单下选择需要编译进内核的设备驱动,也可以选择将设备驱动编译为模块。可以在该菜单下选择需要编译进内核的设备驱动,也可以选择将设备驱动编译为模块。可以选择需要的调试选项,并根据需要启用或禁用相应的功能。可以选择需要的文件系统类型,并根据需要启用或禁用相应的选项。可以选择需要的网络协议和功能,并根据需要启用或禁用相应的选项。可以选择需要的调试选项,并根据需要启用或禁用相应的功能。可以选择需要的文件系统类型,并根据需要启用或禁用相应的选项。

TechGlide的博客 746

【ACM】杭电OJ 1003。

运行环境VS2017  题目链接:杭电OJ 1003 主要思想是: 用d[i]来存放前i项中最大的和,得到end,然后再倒推,得起始的位置begin 然而在程序42行的疑问,大家可以讨论一下吗???? #include &lt;stdio.h&gt; #include &lt;string.h&gt; int a[100000 + 11]; int d[100000 + 11]; in...

( :3 ) 560

【Kubernetes】Kubernetes 安全沙箱深度对比:gVisor vs Kata Containers

Kubernetes安全沙箱深度对比:gVisor和Kata Containers在架构、性能与安全性方面各有特点。gVisor通过用户态内核(Sentry)实现软件隔离,启动快(毫秒级)但CPU开销大(20-30%),适合Web服务等场景。Kata Containers采用轻量级虚拟机提供硬件级隔离,启动较慢(1-2秒)但兼容性更好,适合金融等高安全需求。测试显示gVisor在动态请求下性能下降33%,而Kata性能接近原生。建议根据场景选择:多租户/快速启动用gVisor,敏感数据/极致安全用Kata,

九师兄 178

IgH EtherCAT 从入门到精通:第 30 章 实战:高可用 EtherCAT 系统设计

摘要:构建高可用EtherCAT系统的关键技术 本章详细介绍了工业级EtherCAT系统的高可用性设计方法,主要包括: 冗余链路架构:采用双网卡环形拓扑设计,主备网卡同时工作,通过IgH Master的冗余配置实现线缆故障自动切换。 状态监控机制:提供专用API实时监控主备链路状态,包括从站响应数、链路状态和冗余激活标志,形成完整的故障判断矩阵。 自动恢复功能:系统内置FSM架构支持热插拔自动检测和重配置,从站断线/重连时可自动完成状态恢复,同时允许应用层实施安全措施。 这些技术共同构成了生产环境下Ethe

从事嵌入式linux android驱动开发,拥有全栈能力 243

杭电OJ1003 1004

杭电OJ1003 Max Sum 大意: 算几个数的连续子序列的最大值,这让人想到了dp的连续不下降子序列,虽然两个并没什么大的关系。 几个数相加的最大值,算和,从起点为第一个数算起,一直相加到后面,令最大值mmax等于一个很小的数,让mmax和相加的数作比较,当相加的数大于mmax时,进行值的替换,和前后下标数的改变。 当相加的数和小于0时,我们就知道了和小于0,则再往后即使会往大走也...

云纹铜禁的博客 243

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

杭电OJ——ACM 1003.Max Sum

Max Sum 杭电OJ——ACM 1003.Max Sum链接入口 问题描述 大意:给定一个序列a[1],a[2],a[3]…a[n],你需要算出其子序列中的最大值。比如说:给你一个序列(6,-1,5,4,-7),它的子序列之和中的最大值是6 + (-1) + 5 + 4 = 14。 输入 大意: 第一行是一个范围在1到20的整数T,代表着接下来输入的测试案例; 接下来的T行,每一行都首先是一个范围在1到100000的数字N,代表着该测试案例中所包含的测试数据个数。其次,接着就是N个范围在-100

peng_YuJun的博客 1802

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

九度OJ 1003:A+B

/******************* 题目:九度OJ 1003:A+B 作者:xiaohanstu 日期:2013-11-2 语言: C++  思路:先将A,B字符串中的逗号去掉, 再用atoi函数将其转换成整型相加即可;  结果:AC  *******************/ #include #include #include using namespace st

xiaohanstu的专栏 719

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

杭电oj 1003题解答

杭电oj1003 这题需要利用动态规划来解决,也可能会考到数组越界的问题。不用想太复杂,就是求出每个子序列的值然后与之前的最大值比较大小(当然前子序列为负值则把清为零),最终运行出来的就是最大值。

2301_82192658的博客 576

杭电OJ 1003

刚拿到题目觉得很简单:用一个数组保存每组输入的序列,然后两层遍。第一层按照起始位置遍历,第二层按照结束位置遍历。代码如下: //杭电OJ 1003 张艺川 2018/1/27 #include using namespace std; int main(){ int T;//T组数据,最多20组 cin >> T; int maxSum[20]; //用于存每一组的最大和 最多20组

zhangyichuan_dlut的博客 3201
上一篇: 2013 B 碎纸片拼接与复原
下一篇: OJ:蛇形填数,竖式计算,a/b
Whiteleaf3er
博客等级 码龄9年 25粉丝 112原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值