首页
比赛
tracker
题库
课程
竞赛讨论区
登录
/
注册
去牛客
首页
>
小苯的麦克斯
6条解析
开通博客写题解
憨憨的竹林
发表于 2026-04-06 01:26:25
感觉有点诈骗的意味 假如区间是可以只取一个数的,那么显然最后求得ans = max - 0,不论max值是否为0 但题目要求我们的区间至少得取2个数,所以我们可以从上面这个思路进行一下延伸 可以证明按如下情况分类: 1.当max值两侧没有0的时候(如max在边缘则是一侧),ans = max 2.当
展开全文
AliLexiWalker
发表于 2026-04-06 10:58:57
这题其实不用看整段区间,只要看相邻两个数就够了,因为想让区间里的最大值尽量大,最后只会落到某一对相邻元素上。 于是直接枚举每一对相邻数,算出这两个数的 mex,再取“max−mex”的最大值,答案就是这样。 void solve(){ int n;cin>>n; vi a
展开全文
此在Dasein
发表于 2026-04-06 02:35:22
一、 问题分析 问题的核心是寻找一个长度 的连续子区间 ,使得 最大化。 MAX:区间内的最大元素。 MEX:区间内未出现的最小非负整数(从 0 开始)。 约束:,这意味着算法必须达到 或 的时间复杂度。由于涉及连续区间,通常考虑滑窗、单调栈或性质挖掘。 二、 性质:单调性与局部最优 为
展开全文
lemonyyds
发表于 2026-04-06 00:20:59
题解问题理解给定一个序列 a,要选择一个长度至少为 2 的连续子区间 [l, r],使得区间内最大值减去最小未出现非负整数 (MEX) 的值最大。关键结论最优区间一定可以取长度为 2 的相邻子区间。理由如下:若某个最优区间的 MEX = 0,说明区间内不含 0。此时取该区间内最大值所在的元素,再任选
展开全文
牛客69596014号
发表于 2026-04-06 08:42:34
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc=new Scanner(System.in); int t=s
展开全文
chenlan114
发表于 2026-04-06 11:10:12
#include<bits/stdc++.h> using namespace std; using ll=long long; int main(){ ios::sync_with_stdio(0),cin.tie(0),cout.tie(0); ll T;
展开全文
查看本题
查看本题讨论
相关比赛
117163-牛客周赛 Round 110
进入比赛
117766-牛客周赛110内测
进入比赛
118224-河北经贸大学25第三次训练题单
进入比赛
118724-dhu_acm
进入比赛
119617-hfuu小练习
进入比赛
等你来战
查看全部
蓝桥杯多校模拟赛(第二场)
报名截止时间:2026-04-06 17:00
牛客小白月赛131
报名截止时间:2026-04-10 21:00
2026年浙江工业大学之江学院程序设计竞赛
报名截止时间:2026-04-11 16:00
北华大学第十三届大学生程序设计竞赛(同步赛)
报名截止时间:2026-04-12 18:00
牛客周赛 Round 139
报名截止时间:2026-04-12 21:00
牛客练习赛151
报名截止时间:2026-04-17 21:30
扫描二维码,关注牛客
意见反馈
下载牛客APP,随时随地刷题