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

创意灵感网站郑州seo教程

创意灵感网站,郑州seo教程,wordpress 幻灯片自定义,网站建设中源码下载审题: 本题需要我们找到区间的最大子段和并输出结果 思路: 方法一:分治思想 我们可以把给定区间平均分成两部分,然后获取左段区间的最大子段和,右段区间的最大子段和,以及跨区间的最大子段和。最后比较出他…

审题:

 本题需要我们找到区间的最大子段和并输出结果

思路:

方法一:分治思想

我们可以把给定区间平均分成两部分,然后获取左段区间的最大子段和,右段区间的最大子段和,以及跨区间的最大子段和。最后比较出他们三种情况的最大子段和并返回

对于获取左右两段区间的最大子段和,我们可以直接递归调用dfs进行,对于最后一种情况则需要直接处理

处理方法:

跨区间子段一定包含mid和mid+1索引的值

对于mid:我们往左遍历查找包含mid的连续左段的最大和

对于mid+1:同理往右查找

最终我们把左段最大的值和右段最大的值加起来就是跨区间最大值

解题:
 

#include<iostream>
#include<algorithm>
using namespace std;
const int N = 2e5 + 10;
int n;
int a[N];
int dfs(int left, int right)
{if (left == right){return a[left];}int mid = (left + right) / 2;
//查找左右段最大子段和int ret = max(dfs(left, mid), dfs(mid + 1, right));//查找跨区间最大子段和int sum = a[mid]; int lmax = a[mid];for (int i = mid-1; i >= left; i--){sum += a[i];lmax = max(lmax, sum);}sum = a[mid+1]; int rmax = a[mid+1];for (int i = mid + 2; i <= right; i++){sum += a[i];rmax = max(rmax, sum);}ret = max(ret, lmax + rmax);return ret;
}
int main()
{cin >> n;for (int i = 1; i <= n; i++){cin >> a[i];}cout << dfs(1, n) << endl;//返回区间1到n的最大子段和return 0;
}

P1115 最大子段和 - 洛谷

http://www.yayakq.cn/news/250066/

相关文章:

  • 番禺网站建设系统离退休干部网站建设
  • 四川省城乡与建设厅网站首页广州个性化网站开发
  • 金坛企业网站建设公司怎么在雅虎做网站收入
  • 教育公司 网站建设网站 租用服务器
  • wordpress导航栏下拉菜单代码seo专家招聘
  • 湛江专业建网站哪家好wordpress 登录 刷新
  • 网站的推广方式网站建设总结
  • 邢台做网站服务销售管理软件哪个好用
  • 网站建站分辨率wordpress 登录流程
  • 织梦做英文网站辽宁建设工程信息网登录入口
  • 三网合一网站源码下载哈尔滨创寻网站建设
  • 做斗图的网站广告设计制作安装合同
  • 北仑网站制作沈阳网站制作优化推广
  • 网站做导航的地图开发一个app价目表
  • 石家庄服务大型建站项目管理软件app
  • 深圳有做网站的公司660元我的网站百度搜不到
  • 怎么做加盟网站wordpress防止采集
  • 轻云服务器菁英版 多个网站西部数据网站助手
  • 网站建设合同应注意服务网站排名咨询
  • 公司网站建设的目的和意义网站建设数据安全的意义
  • 长沙网站推广排名做竞价网站访问突然变少
  • 上海网站建设开发哪asp.net 网站管理系统
  • 网站访问对应二级域名公式wordpress
  • 做自媒体可以搬运国外网站新闻吗2022年网页游戏排行榜
  • 制作个人业务网站嵌入式软件开发和软件开发的区别
  • 株洲县建设局官方网站扫描网站漏洞的软件
  • 家具网站开发报告html用什么编译器编写
  • 现在什么行业发展前景最好一个新网站怎么做seo
  • html网站设计论文app开发费用
  • 赣榆哪里有做网站的电子商务网站规划设计方案