博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51Nod 1050 循环数组最大子段和 | DP
阅读量:4653 次
发布时间:2019-06-09

本文共 565 字,大约阅读时间需要 1 分钟。

 

Input示例
6-211-413-5-2
Output示例
20

分析:

有两种可能,第一种为正常从[1 - n]序列中的最大子字段和;第二种为数组的total_sum - ([1-n]序列中的最短序列和)

最后结果为 max { 第一种, 第二种}。
对于第二种:

循环数组求最大子段和,可能出现中间的一部分不要,要两边的数。比如:-1 4 -1 -5 5 -2 1 -1 3,他的最大子段和就为 左边的-1 4加上右边的5 -2 1 -1 3,也就是,去掉1 -5这一段后的结果。而-1 -5这一段其实是最小字段和(序列总和一定,总和 - 最大子段和 = 最小子段和)

#include "iostream"#include "cstdio"using namespace std;#define LL long long#define N 50010int arr[N];int main(){    int n;    LL sum,sum01,sum02;    while(~scanf("%d",&n)){        sum=0;sum01=0;sum02=0;        for(int i=0;i

 

 

 

 

转载于:https://www.cnblogs.com/kimsimple/p/7478463.html

你可能感兴趣的文章
jap _spring _maven
查看>>
IE8兼容性问题
查看>>
JS变量作用域
查看>>
IIS principle
查看>>
Oracle 如何对中文字段进行排序
查看>>
第七章 数组实验
查看>>
003_ElasticSearch详解与优化设计
查看>>
windows hosts
查看>>
PHP 初学之登录查询小case
查看>>
Spring 4 官方文档学习(十五)CORS支持
查看>>
git使用:本地项目推送到gitlab
查看>>
react学习笔记1
查看>>
transition 属性(逐渐变色)
查看>>
关于CURL的初步认识
查看>>
如何使用 JDBC 调用存储在数据库中的函数或存储过程
查看>>
Js通过原型继承创建子类
查看>>
HTML5 网页 漂浮窗广告 JavaScript逻辑 - demo
查看>>
python+unittest+requests+HTMLRunner编写接口自动化测试集
查看>>
深入Java对象及元素的存储区域(转载)
查看>>
ATM模拟器(附代码及运行结果)
查看>>