当前位置: 首页 > wzjs >正文

ps做网站首页怎么运用起来新手怎么做网络推广

ps做网站首页怎么运用起来,新手怎么做网络推广,哪个网站的地图可以做分析图,建设网站是普通办公吗、 审题: 本题需要我们找到给定数组中子段之和和最大的sum值 思路: 方法一:暴力解法 我们可以使用双层for循环,第一层循环负责遍历每一个数组元素,然后分别以他们为子段起点,第二层循环从第一层循环的索引开…

审题:
本题需要我们找到给定数组中子段之和和最大的sum值

思路:

方法一:暴力解法

我们可以使用双层for循环,第一层循环负责遍历每一个数组元素,然后分别以他们为子段起点,第二层循环从第一层循环的索引开始接着往下遍历累加结果到sum中,且遍历的时候不断用max方法让sum与answer进行比对,如果出现sum小于0就停止当前子段和的搜索,因为

即使后面的数再大,我们前面的sum也对后面的数产生了负作用。
方法二:贪心

其实我们不需要进行两层for循环,一旦出现sum小于0,说明前面一段的所有元素都不可能是最大子段和的开头索引。

贪心策略:从开头索引开始进行遍历,一旦sum小于0就将sum置为0,接着往下遍历

贪心策略证明:

假设出现了sum小于0的那一段元素存在最大子段和的初始索引

情况1:最大子段在sum内

Sak<Sck,所以Sak-Sck < 0,即Sac<0。而ac段的总和不会小于0,因为如果他小于0(也就是此时sum就小于0了),那么就不会存在Sab段,直接在Sac段就截断了

情况2:最大子段不全在sum内

我们知道:Scb>Sab

若Sab>Scb,最大子段和的开始位置就是a

而此时由于Sac+Scb = Sab,我们得出Sac又要小于0,同理此时也是不合理的

综上:最大子段和的开始位置不会出现在sum小于0的数据段中,可以直接舍弃

解题:
 

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 2e5 + 10;
typedef long long ll;
int n;
int a[N];
ll answer = -1e7;
ll sum;
int main()
{//数据录入cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];}//遍历查找for (int i = 1; i <= n; i++){sum += a[i];answer = max(sum, answer);if (sum < 0)sum = 0;}cout << answer << endl;return 0;
}

P1115 最大子段和 - 洛谷

http://www.dtcms.com/wzjs/515884.html

相关文章:

  • 深圳公司网站开发营销到底是干嘛的
  • 宁晋网站开发搭建网络营销推广的方法有哪些
  • 网站开发 用什么框架seo模拟点击软件源码
  • 香河做网站公司关键词排名是由什么决定的
  • 做肮脏交义的网站5118站长工具
  • 网站的注册晚上必备免费软件大全苹果
  • 国外卖货平台有哪些阿亮seo技术顾问
  • 晋城网站设计人企业查询app
  • 简答电子商务网站建设流程成功营销十大经典案例
  • 公关公司服务的特点包括天津谷歌优化
  • 做网站一定要有空间吗广东东莞大益队
  • 霞浦网站建设800元做小程序网站
  • 代办网站建设推广员是干什么的
  • 北京红酒网站建设网络营销的三大基础
  • 做养殖推广什么网站好铁力seo
  • 郑州做网站推软件开发培训机构
  • 全网最稳定自助下单平台云优化seo软件
  • 图片网站php源码seo的方法
  • 做旅游业务的商业网站搜索引擎优化是什么?
  • 关于电商网站的数据中心建设方案昆明seo关键词排名
  • 响应式网站模板是什么原因搜索引擎大全
  • 如何做响应式网站设计学seo如何入门
  • 进出成都最新通知seo成都培训
  • 网站开发选定制还是模板国内广告联盟平台
  • 免费申请的网站seo高级优化方法
  • 做国外夏令营的网站2021热门网络营销案例
  • 杨凌网站建设哪家好惠州网络推广
  • 巴士定制网站开发百度推广后台登陆官网
  • flash做网站步骤旺道优化软件
  • 网站建设站外推广渠道有哪些