首页 > 其他分享 >P1115 最大子段和 一维动态规划

P1115 最大子段和 一维动态规划

时间:2023-07-12 17:56:05浏览次数:49  
标签:P1115 子段 int long 一维 ans dp 200005

#include<iostream>
#include<cmath>
using namespace std;
long long n,a[200005],dp[200005],ans;

int main()
{
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    dp[1]=a[1];
    ans=a[1];
    for(int i=2;i<=n;i++)
    {
        dp[i]=max(a[i],dp[i-1]+a[i]);
        ans=max(ans,dp[i]);
    }
    cout<<ans;
}

先上此题的AC代码

思想:当我们选取数组中的某个数时,我们考虑的是对其进行后续的加和操作,这时候我们想要基础数据尽可能大,所以要选取dp[i]+a[i]和a[i]中更大的值,并用ans进行实时更新

标签:P1115,子段,int,long,一维,ans,dp,200005
From: https://www.cnblogs.com/ataraxyyeah/p/17548371.html

相关文章

  • 将二维数组扁平化,或者说变成一维数组
    代码:a=[[1,2],[3,4]]#扁平化b=[iforiteminaforiinitem]#或importnumpyasnpnpa=np.arrary(a)b=npa.ravel()#andb=npa.flatten()ravel和flatten的区别在于使用ravel形成的数据在修改后会影响np.array的源数据上面的代码使用ravel后修改b的值......
  • 【Python】多维列表变为一维列表的方法--numpy
    转载:(18条消息)【Python】多维列表变为一维列表的方法_四维列表变一维_Vincent__Lai的博客-CSDN博客题目给定一个多维列表,怎么让其变为一维?例如,输入:[[1,4],[2],[3,5,6]],输出:[1,4,2,3,5,6]常规一行做法a=[[1,4],[2],[3,5,6]]a=[jforiinaforjini......
  • 动态规划 01背包问题 二维转一维过程及理解
     1. 01背包:二维朴素写法 publicstaticintgetMaxValue(int[]weight,int[]values,intw){intn=weight.length;int[][]dp=newint[n+1][w+1];for(inti=1;i<=n;i++){for(intj=1;j<=w;j++){if(j>=we......
  • 一维数组
    一维数组一维数组定义&形式是一组数据类型相同的变量,可以存放一组数据数组名[下标]❗数组地址数组在内存中的地址是连续的C++将数组名解释为数组首个元素的地址⚠数组名为常量,不能更改,例如int类型数组a使用a++❎指针值可以改变,int*p=a使用p++✅数组第0个元......
  • 何谓一维表、二维表
    :经常看到关于一维表转为二维表、二维表转为一维列表等说法,那么,什么是“一维表”、“二维表”呢?A:从数据库的观点来说,一维表是最合适于透视和数据分析的数据存储结构。很多人容易将它与一维数组、二维数组、三维引用等等联系在一起,把“一维表”想象为只有一行或一列的表,这个想法是......
  • 一维数组转为多维
    functionconvertToMultiDimensionalArray(arr){varmap={};varroots=[];//将数组元素以ID为键,构建一个映射表for(vari=0;i<arr.length;i++){varitem=arr[i];item.children=[];map[item.id]=item;varparentId=item......
  • UWB定位系统做0维一维二维三维定位
    UWB定位系统做0维/一维/二维/三维定位一、0维UWB定位(存在性检测)0维UWB定位系统,硬件方面只需要一个UWB基站和一个UWB标签即可实现,如下图1所示,一个UWB基站VDU2503和一个UWB标签VDU1501,UWB标签和基站之间相互通信,再通过和后台的交互实现对人员的存在性监测、报警等功能。二、一维......
  • Java 一维数组的使用
    Java一维数组的使用1.一维数组的定义在不知道数组内容可以直接使用下面的定义方法:int[]arr=newint[数组个数];或intarr[]=newint[数组个数];在知道数组内容可以使用如下:int[]arr={data1,data2,data.....};2.数组的传递数组的传递与其他基本类型的值传递不同,......
  • 基于C语言的一维小波变换处理算法使用C语言实现的小波变换一维信号处理算法,以下是使用
    基于C语言的一维小波变换处理算法使用C语言实现的小波变换一维信号处理算法,以下是使用MATLAB和C语言算法的处理结果对比图。还可以提供说明文档对程序进行说明。涉及到的知识点和领域范围是信号处理和编程语言。小波变换是一种信号处理技术,用于分析和处理信号的频率和时间特性。C......
  • 2023-06-18:给定一个长度为N的一维数组scores, 代表0~N-1号员工的初始得分, scores[i] =
    2023-06-18:给定一个长度为N的一维数组scores,代表0~N-1号员工的初始得分,scores[i]=a,表示i号员工一开始得分是a,给定一个长度为M的二维数组operations,operations[i]={a,b,c}。表示第i号操作为:如果a==1,表示将目前分数<b的所有员工,分数改成b,c这个值无用,如果a==2,表示将......