首页 > 其他分享 >2024-10-17每日一题题解

2024-10-17每日一题题解

时间:2024-10-17 10:36:24浏览次数:9  
标签:pre 10 前缀 int 题解 2024 枚举 区间

最大子段和

题目描述

给出一个长度为 \(n\) 的序列 \(a\),选出其中连续且非空的一段使得这段和最大。

样例输入

7
2 -4 3 -1 2 -4 3

样例输出

4

题解

tips:

  1. 无脑暴力法:枚举每一段区间,再对每一段区间求和,时间复杂度为\(O(n^3)\),会超时(n为1e5,则应该在\(O(nlogn)\)的时间范围内)

  2. 有脑暴力法:使用前缀和可以在\(O(1)\)的时间内求得一个区间的和,将时间复杂度优化到\(O(n^2)\),仍会超时

  3. 正解:实际上不需要枚举每一段区间,前缀和处理后,区间 [ l, r ] 的和为 sum = pre [ r ] - pre [ l - 1],而对于每个r,pre[ r ]是确定的,所以要使sum最大,就得使 pre[ l - 1] 最小,即:pre[ l - 1 ]为在 r 之前的最小前缀和,我们只需要从小到大枚举r,再记录最小的 pre[ i ] 作为 pre[ l - 1 ] 即可

代码

#include<bits/stdc++.h>
using namespace std;
int n;
int a[200100],pre[200100];
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++) {
		scanf("%d",&a[i]);
		pre[i]=pre[i-1]+a[i];
	}
	int minn=0,ans=INT_MIN;
	for(int i=1;i<=n;i++) {
		ans=max(ans,pre[i]-minn);
		minn=min(minn,pre[i]);
	}
	printf("%d\n",ans);
	return 0;
}

标签:pre,10,前缀,int,题解,2024,枚举,区间
From: https://www.cnblogs.com/Sonatto/p/18471528

相关文章

  • CSP2024 前做题情况
    10.12开始写,每天做的题都在这里了。AT_arc058_b考虑组合数。对于从\((1,1)\)走到\((n,m)\)的方案数,显然是\(C_{(n-1+1)+(m-1+1)-2}^{(n-1+1)-1/(m-1+1)-1}\)。那么考虑枚举一个行\(i(1\lei\len-a)\),我们需要从\((1,1)\)走到\((i,b)\)。这样能够使得我们的每一步都......
  • 界面控件Telerik UI for WPF 2024 Q3亮点 - 支持禁用数据过滤等
    TelerikUIforWPF拥有超过100个控件来创建美观、高性能的桌面应用程序,同时还能快速构建企业级办公WPF应用程序。UIforWPF支持MVVM、触摸等,创建的应用程序可靠且结构良好,非常容易维护,其直观的API将无缝地集成VisualStudio工具箱中。本文将介绍界面组件TelerikUIforWPF在今......
  • 采用黑白仪表盘风格提高清晰度-Stimulsoft Dashboards.JS 2024.4.1
    采用黑白仪表盘风格提高清晰度2024年10月16日StimulsoftDashboards.JS2024.4.1采用了时尚、现代的设计和一致的报告格式,并采用了新的单色预设主题。StimulsoftDashboards.JS是一个JavaScript库,旨在在Web应用程序中构建交互式仪表板。......
  • 2024 最新 jetbrains GoLand 2024.1.6 激活(亲测可用)
    注意:接下来本文分享免费激活 GoLand 等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持)大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开这里提示输入激活码,先关闭应用!!!2.下载激活工具......
  • 2024 最新 jetbrains DataGrip 2024.1.6 激活(亲测可用)
    注意:接下来本文分享免费激活 IDEA 等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持)大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开这里提示输入激活码,先关闭应用!!!2.下载激活工具打......
  • 2024北森题库(含答案)
    "2024北森题库(含答案)"揭示了这是一份针对教育和考试领域的资源,特别是与北森题库相关的练习题目和解答。北森题库通常指的是由北森公司提供的各类考试模拟题集,涵盖了诸多考试科目,如公务员考试、事业单位招聘、教师资格证考试等。这份资料对于备考者来说是一份宝贵的参考资料,它提供......
  • 2024 最新 jetbrains PyCharm 2024.1.6 激活(亲测可用)
    注意:接下来本文分享免费激活 PyCharm等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持)大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开这里提示输入激活码,先关闭应用!!!2.下载激活工具......
  • 2024 最新 jetbrains PhpStorm 2024.1.6 激活(亲测可用)
    注意:接下来本文分享免费激活 PhpStorm等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持)大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开这里提示输入激活码,先关闭应用!!!2.下载激活工具......
  • 2024 最新 jetbrains WebStorm 2024.1.6 激活(亲测可用)
    注意:接下来本文分享免费激活 WebStorm等Jetbrains全家桶工具,一直支持到最新版本2024.1.6。 1.下载安装IDEA (mac、window、linux都支持)大家直接在官网下载最新版本,登陆官网,下载最新版本2024.1.4。一步一步确定安装,然后打开这里提示输入激活码,先关闭应用!!!2.下载激活工具......
  • 高级java每日一道面试题-2024年10月17日-Web篇-常见的web攻击有哪些?
    如果有遗漏,评论区告诉我进行补充面试官:常见的web攻击有哪些?我回答:常见的Web攻击种类繁多,攻击者利用各种漏洞和技术手段来入侵网站、窃取数据或破坏服务。以下是一些最常见的Web攻击类型及其简要说明:1.SQL注入(SQLInjection,SQLi)描述:攻击者通过在输入字段......