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

网上提供免费主页空间的网站网络工程师培训学校

网上提供免费主页空间的网站,网络工程师培训学校,网站服务费网络建设会计分录,郑州个人网站制作公司丢失的雨伞 题目思路代码演示 题目 今天晚上本来想练习一下前缀和与差分 结果给我搜出来这题(几乎没啥关系),我看半天有点思路但又下不了手哈哈,难受一批 在图书馆直接红温了 题目链接 思路 题目要求找到两个不重叠的区间&…

丢失的雨伞

  • 题目
  • 思路
  • 代码演示

题目

今天晚上本来想练习一下前缀和与差分 结果给我搜出来这题(几乎没啥关系),我看半天有点思路但又下不了手哈哈,难受一批 在图书馆直接红温了

在这里插入图片描述
题目链接

思路

题目要求找到两个不重叠的区间,前区间的最大值减去后区间的最小值最大,
我一开始的基本思路:对于这题权值的计算方法,我想尽可能地去掉前k个元素中的较小的数
对于后k个元素,我们想删去较大的值,如此才能保证我们找到最大的权值
如果不考虑暴力的思路,这个难点在于,我们如何去确定需要删去那些数,而且删除的位置我们也不好确定

正确思路:我们需要维护最大前缀以及最小后缀数组,找到贡献值最大的区间,枚举所有分割区间的方式,以此来找到最大的权值
在这里插入图片描述

代码演示

#include <iostream>
using namespace std;const int N = 100100;
int arr[N];         // 存储原始数组
int prefixMax[N];   // prefixMax[i] 表示前 i 个元素的最大值
int suffixMin[N];   // suffixMin[i] 表示从 i 到末尾元素的最小值int main() {int n, k;cin >> n >> k;for (int i = 1; i <= n; ++i)cin >> arr[i];// 预处理前缀最大值数组prefixMax[0] = 0;for (int i = 1; i <= n; ++i)prefixMax[i] = max(prefixMax[i - 1], arr[i]);// 预处理后缀最小值数组suffixMin[n + 1] = 1e9 + 10;  // 初始化末尾之后的最小值为极大值for (int i = n; i > 0; --i)suffixMin[i] = min(suffixMin[i + 1], arr[i]);int answer = -2e9;// 遍历所有合法的分割位置,计算权值最大值for (int i = k; i <= n - k; ++i)answer = max(answer, prefixMax[i] - suffixMin[i + 1]);cout << answer;return 0;
}

在这里插入图片描述

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

相关文章:

  • 公司网站作用面包店网站建设论文
  • 徐州做网站哪家好wordpress菜单新连接
  • 网站建设中排名掉了什么是 网站收录
  • 国外的旅游网站做的如何软件项目管理流程图
  • 北京网站推广排名外包珠海网站制作哪家好
  • 郏县建设局网站网页小游戏免费
  • 东莞免费网站制作新建wordpress模板
  • 做网站标配办公空间设计说明范文
  • 深圳网站建设定制手机网站最小宽度
  • 手机网站快速建站免费推荐大全app下载
  • 郑州做网站 汉狮网络沧州百胜
  • 成都网站设计公h5app开发
  • 网站 用户登陆 模板做电商网站的流程
  • 系统网站品质好物推荐
  • 长沙做网站开发多少钱不懂网站怎么做平台
  • 西宁网站托管网站营销策划
  • 网站搭建图片郑州新闻发布会最新消息今天视频
  • 网站建设案列四川工程造价信息网官网
  • 国外企业网站建设网络广告类型有哪几种
  • 外贸人常用网站wordpress模板编辑首页
  • php 读取网站文件便宜的购物网站排名
  • 湖北专业网站建设市面价百度seo引流怎么做
  • 怎么做直播网站的超管广州网站建设广州网络推广公司好
  • 做网站销售好不好企业网站设计请示
  • 网站建设先进工作者软件制作助手
  • 沈阳网站定制开发apple官网登录入口
  • 模板做网站优缺点网站小白怎么开始学网站建设
  • 网站建站分辨率环保部网站官网建设项目审批
  • 网站评论 设计建网站要多少钱 优帮云
  • 深圳网站建设及推广服务公司医疗器械网站建设方案