首页
比赛
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
区区区间间间
7条解析
开通博客写题解
精神病科黄主任
发表于 2020-05-20 18:17:22
思路:就是求所有子区间(区间长度大于1的子区间)的最大值减去最小值的和是多少。我们对原式子拆分一下可得其中max(l,r)表示区间l到r的最大值,min(l,r)表示区间l到r的最小值。那么问题就转化为 求所有区间长度大于1的子区间的最大值之和/最小值之和。暴力的方法就是两个for枚举起点和终点去计
展开全文
sunny_forever
发表于 2021-08-05 18:07:14
思路 问题可以转化为 求每个区间(区间长度大于1的区间)的最大值 与 最小值,最大值之和 减去 最小值之和 就是答案 注:下面所提区间,默认 区间长度大于 1 如何求 最大值之和 与 最小值之和 1:枚举每个区间,时间复杂度 O(n^2) ==> 超时 2:枚举每个值,假设该值为区间最大值
展开全文
ailanxier
发表于 2020-06-14 21:20:26
在做这道题之前我还不知道单调栈,是看一位大佬的题解才会的。为什么要求所有区间最大值之和-最小值之和就不详细说了,上面的题解有解释。这道题中使用的是单调递减栈,即维持栈中元素时单调递减的,如果进入一个比栈顶要大的元素,就要将栈中所有比这个元素小的栈全部弹栈。在这个过程中就可以求出一个元素的可以在多长的
展开全文
平凡的小白
发表于 2020-08-19 20:15:09
。 while(j>1&&a[j-1]<=a[i])//下标对应的值等于a[i]的点也能取 j=l[j-1]; while(j<n&&a[j+1]<a[i])//下标对应的值等于a[i]的点不能取 j=r[j+1];Code
展开全文
ziuch
发表于 2020-08-23 23:30:53
题目描述 给出长度为n的序列a,其中第i个元素为aia_iai,定义区间(l,r)的价值为 vl,r=max(ai−aj∣l⩽i,j⩽r)v_{l,r} = max(a_i - a_j | l \leqslant i,j\leqslant
展开全文
fakesheep
发表于 2022-03-18 16:17:55
#include <bits/stdc++.h> #define int long long using namespace std; const int N = 1e5 + 7; int t,n; int a[N]; /* 1.观察到式子就是求区间的最大值减最小值的和,我们分别求最大值
展开全文
古力娜扎头发
发表于 2023-03-24 23:16:31
题目描述 题目本质上就是求任意一个长度大于1的区间内的最大值和最小值的差值的总和。 如果暴力:就是两层循环10^5肯定要超时 思路 使用单调栈。 主要思想:反向思考 一个区间内的最大最小值必定是在给定的序列中------反向推导----> 求出序列中每个数所能包拢的最大或最小值范围,某个区间只
展开全文
查看本题
查看本题讨论
相关比赛
223-牛可乐发红包脱单ACM赛$
进入比赛
17777-Test-3
进入比赛
18238-HUAS基础题单2
进入比赛
19050-湖南人文科技学院ACM省赛队员内部训练赛&选拔赛
进入比赛
20418-长沙师范学院程序设计模拟赛
进入比赛
等你来战
查看全部
牛客小白月赛115
报名截止时间:2025-04-25 21:00
牛客周赛 Round 91
报名截止时间:2025-04-27 21:00
2025牛客五一集训派对day1
报名截止时间:2025-05-01 17:00
2025牛客五一集训派对day2
报名截止时间:2025-05-02 17:00
2025牛客五一集训派对day3
报名截止时间:2025-05-03 17:00
2025牛客五一集训派对day4
报名截止时间:2025-05-04 17:00
2025牛客五一集训派对day5
报名截止时间:2025-05-05 17:00
牛客周赛 Round 92
报名截止时间:2025-05-11 21:00
哈尔滨华德学院第十六届程序设计竞赛(同步赛)
报名截止时间:2025-05-13 20:30
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题