nyoj 44 子串和

NYOJ - 44:子串和 NYOJ - 44:子串和 标签:算法、动态规划 题目 给定一整型数列{a1,a2…,an},找出连续非空子串{ax,ax+1,…,ay},使得该子序列的和最大,其中,1<=x<=y<=n。 输入 第一行是一个整数N(N<=10),表示测试数据的组数; 每组测试数据的第一行是一个整数n,表示序列中共有n个整数,随后的一行里有n个整数I(-100=输出 对于每组测试数据输出和最大 阅读详情

题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=44

这个题做过好久了,但是一直没有记录下来。。。好吧,开始!


题目大意:给一个整形数组,求连续非空子数组的最大和。


解题思路:这题,最重要的就是一个思路,用一个max变量始终记录连续最大子数组和,sum记录当前和,而sum的处理是最重要的!

    上码更清楚!

import java.io.BufferedInputStream;

public class Main{
	static BufferedInputStream bis = new BufferedInputStream(System.in);

	public static void main(String[] args) throws Exception {
		int n, sum, max, nCase;
		nCase = getInt();// 对输入整数的优化
		while (nCase-- != 0) {
			n = getInt();
			int[] arr = new int[n];
			for (int i = 0; i < n; i++) {
				arr[i] = getInt();
			}
			max = sum = arr[0];
			for (int i = 1; i < n; i++) {
				if (sum < 0) {//逻辑处理
					sum = arr[i];
				} else {
					sum += arr[i];
				}
				max = Math.max(max, sum);//!!max始终记录最大的子序列和
			}
			System.out.println(max);
		}
		bis.close();
	}

	// 用BufferedInputStream的read()方法来减少读入的时间
	static int getInt() throws Exception {
		int i;
		// ' ':32 '\t':9 '\n':10 '-':45 '0':48
		// 除去间隔符
		while ((i = bis.read()) < 45)
			;
		int temp = 0, mark = 1;
		if (i == 45) {//读入的是负号
			mark = -1;
			i = bis.read();
		}
		while (i > 47) {
			temp = temp * 10 + i - 48;
			i = bis.read();
		}
		return mark * temp;
	}
}


自动驾驶预测决策规划八股 预测规划八股个人总结。 阅读详情

相关推荐

【VisionMaster】图像源模块之本地图像

图像采集之图像源

zhy29563 6958

[NYOJ 44 子串和  动态]

http://acm.nyist.net/JudgeOnline/problem.php?pid=44 #include #include #include using namespace std; #define MAXN 1000005 int dp[MAXN],a[MAXN]; int main(){ int ncase,n; scanf("%d",&ncase);

lavendermaple的专栏 581

PTA-浙大版 《Python程序设计》 第三章编程题目及答案

博主第一次写优快云的博客,所以排版上可能有些不尽人意,代码部分均为自己的思路,可能复杂或者考虑欠妥,欢迎大家一起讨论~ 第一题:大于身高的平均值 这里用了np数组求得平均数,当然for循环累加也是可以的 import numpy as np data = input().split() data = list(map(int,data)) avg = np.mean(data) for i in data: if i > avg: print(i,end = '

Legendwqs的博客 1万+

韩国AI全球第三?拆解模型得分超30的评测口径与实践验证

在全球AI竞赛中,大模型评测基准如MMLU、HLE等常被用来衡量模型能力,但不同评测集的满分、难度和口径差异极大,同一分数在不同基准下含义完全不同。理解评测原理,掌握基准测试的适用场景,是判断开源模型真实水平的前提。MMLU适合基础能力评估,而HLE作为高难度测试,30%的得分已属第一梯队。韩国多家实验室模型在特定口径下得分超过30,结合其开源模型(如EXAONE、SOLAR)的参数规模与知识蒸馏技术,开发者可通过Hugging Face拉取权重,在本地数据上复现评测结果。本文面向开发者,提供一套可落地的模

weixin_30613727的博客 360

Windowns下Git环境配置-命令行方式

文章目录一、配置Git1.1 下载Git并安装1.2 配置本地Git用户名和邮箱1.3 注册GitHub二、生成本地公钥,放到GitHub上-SSH Key2.1 生成本地公钥命令2.2 查看生成的公钥2.3 在GitHub放上公钥并测试连通性三、创建项目实操四、可能出现的问题4.1.push不成功4.2.提示SSL的问题4.3.域名不能解析的问题4.4.如果github连接不上的问题 一、配置Git 1.1 下载Git并安装 Git官网 默认安装,根据需要修改安装路径 1.2 配置本地Git用户名和邮箱

学习工作笔记 1135

kaggle——销量预测的baseline(M5 Forecasting - Accuracy)

前言 在刚刚结束的kaggle比赛M5 Forecasting - Accuracy中,因为是第一次参加,笔者也是花了大量的时间和精力在上面,最终拿到一块银牌(所以我拿到了大学第一个考试挂科。。。求求电磁场老师高抬贵手给点平时分放我一马吧。。。早上看到kaggle成绩异常兴奋,中午考完直接爆炸=。=),当然运气占了很大因素,这次比赛private leadboard的shake up非常大,排名波动几千名都存在的。笔者运气不错,是向上的shake:)。这里总结一下销量预测的基本流程。 从下图可以看到这次比

weixin_43901221的博客 5432

NYOJ44 - 子串和(最大连续子串和)

题目链接 NYOJ44 【分析】

转移到dawxy.com 882

别再只会用串口助手了!手把手教你用手机App调试HC-05蓝牙模块(STM32F103实战)

本文详细介绍了如何利用手机App调试HC-05蓝牙模块与STM32F103的无线连接,突破传统串口助手的限制。通过实战指南,开发者可以掌握移动性测试、实时监控和快速验证等高效调试技巧,优化蓝牙透传的稳定性和性能。

weixin_33670786的博客 428

子串和 (nyoj 44)

思路:每次读入一个数值v,先让其累加在sum中,max则取所有sum中的最大值,若sum小于0,则让sum直接置0,从新计数。 #include<stdio.h> int main(void) { int n,m; // n 组测试数据 m 每组数据子串数 int i,v,sum,max; scanf("%d",&n); ...

weixin_33752045的博客 157

大数据学习指南从入门到精通

利用框架的力量,看懂游戏规则,才是入行的前提大多数人不懂,不会,不做,才是你的机会,你得行动,不能畏首畏尾选择才是拉差距关键,风向,比你流的汗水重要一万倍,逆风划船要累死人的为什么选择学习大数据开发,不选择Java开发?借棋弈做比喻,智商高的不要选择五子琪,要选择围棋,它能长久地吸引你。不都是在棋盘上一颗黑子一颗白子地下吗?因为围棋更复杂,能够掌握如此复杂的技艺、产生稳定输出的棋手、让我们更佩服。选择学习大数据开发也如此,能让你的职业生涯走得更远,少走弯路。

Lansonli(蓝深李)的博客 2万+

SE模块理解+SE-Resnet模块pytorch实现

文章目录SE模块理解SE实现注意力机制原因SE-resnet网络pytorch实现定义residual定义SE模块 SE模块理解 SENet是Squeeze-and-Excitation Networks的简称,拿到了ImageNet2017分类比赛冠军,其效果得到了认可,其提出的SE模块思想简单,易于实现,并且很容易可以加载到现有的网络模型框架中。SENet主要是学习了channel之间的相关性,筛选出了针对通道的注意力,稍微增加了一点计算量,但是效果比较好。 SE模块广泛应用于去噪,去雨方向,利用SE模

qq_42754919的博客 2万+

NYOJ44字串和

子串和 时间限制:5000 ms | 内存限制:65535 KB 难度:3描述 给定一整型数列{a1,a2…,an},找出连续非空子串{ax,ax+1,…,ay},使得该子序列的和最大,其中,1<=x<=y<=n。输入 第一行是一个整数N(N<=10)表示测试数据的组数) 每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100

大肉包的博客 389

【OCPP】ocpp1.6J协议框架说明

本文档的目的是为读者提供创建正确的可互操作 OCPP JSON 实现 (OCPP-J) 所需的信息。我们将根据我们自己的经验,尝试解释什么是强制性的、什么是良好做法以及什么是不应该做的。毫无疑问,误解或歧义仍然存在,但我们旨在通过本文件尽可能地防止它们。IANA:互联网数字分配机构(OCPP-J:使用JSON通过WebSocket进行OCPP通信。特定的OCPP版本应使用J扩展进行指示。OCPP1.5J表示我们正在讨论1.5版本的JSON/WebSocket实现。

qq_53871375的博客 1241

NYOJ 44-子串和

http://nyoj.top/problem/44 题目描述: 给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1<=x<=y<=n。 输入描述: 第一行是一个整数N(N<=10)表示测试数据的组数) 每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100...

427

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NYOJ44 子串和

其实自己最近这一段时间都是在复习巩固上一年学的知识,自从荒废半年后,好多东西都忘了,重新巩固一遍注定还要花一段时间了。   这题其实是动态规划中经典的问题,最大子串和问题:   下面是我转来的一段对该算法描述比较易懂的解释:对于一个包含负值的数字串array[1...n],要找到他的一个子串array[i...j](0 这里我们需要注意子串和子序列之间的区别。子串是指数组中连续的若干个元素,

sd6264456的专栏 781

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

nyoj44 子串和

题目来源:http://acm.nyist.net/JudgeOnline/problem.php?pid=44 子串和 时间限制:5000 ms  |  内存限制:65535 KB 难度:3 描述给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1 输入第一行是一个整数N(N

PandaLHC 486

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

NYOJ 44 子串和

子串和 时间限制:5000ms | 内存限制:65535KB 难度:3 描述给定一整型数列{a1,a2...,an},找出连续非空子串{ax,ax+1,...,ay},使得该子序列的和最大,其中,1 输入第一行是一个整数N(N 每组测试数据的第一行是一个整数n表示序列中共有n个整数,随后的一行里有n个整数I(-100= 输出对于每组测试数据输出和最大

学习,你不是一个人在战斗 ~ 961302305(QQ,微信) 992

nyoj 44 子串和【最大子串和】

题目链接:http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=44 常见的做法有:枚举区间、动态规划等。 昨天突然想到了一个O(n)的算法,拿来分享给诸位 我们从后向前看这串数字 5 6 -2 3 -5 发现倒数第一位就是负数(-5),毫无疑问,这个负数肯定不在我的最大子串和里,因为我们舍去它并不会影响我们链接其它有价值的数,所以我们将它抛弃...

阿不灌的拉的博客 655

NYOJ 44 子串和

题目要求最大连续非空子序列的和 方法一: dp[i] 表示判断到第 i 个数所取得的最大连续非空子序列的和,a[i] 表示第 i 个数 则 dp[i] = max(a[i], dp[i - 1] + a[i]) 代码如下: #include #include #include using namespace std; const int MAXN = 1000000 + 5;

Houheshuai的专栏 655
上一篇: android 退出所有Activity
下一篇: nyoj 102 最大和
_低头的麦穗
博客等级 码龄12年 4粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值