单调栈-四元组问题

发布时间:2026/8/26 8:57:21

单调栈-四元组问题
四元组问题问题描述从小学开始小明就是一个非常喜欢数学的孩子。他喜欢用数学的方式解决各种问题。在他的高中时期他遇到了一个非常有趣的问题那就是给定一个长度为 nn 的整数数组 numsnums 判断是否存在四个不同的下标 a,b,c,da,b,c,d 使得 aa bb cc dd 并且 nums[d]nums[d] nums[c]nums[c] nums[a]nums[a] nums[b]nums[b] 。小明非常喜欢这个问题他决定用数学的方式来解决它。他首先想到了一个非常简单的方法那就是暴力枚举。他用四个循环来枚举所有可能的下标组合然后判断是否满足条件。但是这个方法非常耗时当 nn 很大时计算量会非常大。所以请求你给出一个快速智慧的解决办法。输入格式输入仅两行第一行包含一个整数 nn 第二行包含 nn 个整数其含义如上所述。输出格式输出仅一行包含一个字符串YES表示题目存在上面所描述的情况否则输出NO。样例输入4 3 4 2 1样例输出YES说明在样例中当 a,b,c,da,b,c,d 分别等于 0,1,2,30,1,2,3 满足 aa bb cc dd 并且使得 nums[d]nums[d] nums[c]nums[c] nums[a]nums[a] nums[b]nums[b] 。评测数据规模对于 5050% 的评测数据 4≤n≤200−200≤nums[i]≤2004≤n≤200−200≤nums[i]≤200 。对于 100100% 的评测数据4≤n≤5×105−109≤nums[i]≤1094≤n≤5×105−109≤nums[i]≤109 。import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.util.*; public class Main { static int N5*100010; static int a[]new int[N]; static int n; static BufferedReader br new BufferedReader(new InputStreamReader(System.in)); static BufferedWriter bwnew BufferedWriter(new OutputStreamWriter(System.out)); public static void main(String[] args) throws IOException { StringTokenizer stnew StringTokenizer(br.readLine()); nInteger.parseInt(st.nextToken()); stnew StringTokenizer(br.readLine()); for (int i 1; i n; i) { a[i]Integer.parseInt(st.nextToken()); } //nums[d] nums[c] nums[a] nums[b] //对于c而言 我想知道我的右侧是否有比我小的数 int rightMin[]new int[n1];//维护一个后缀最小值 rightMin[n]n; for (int i n-1; i 0; i--) { if(a[i]a[rightMin[i1]]){ rightMin[i]i; }else{ rightMin[i]rightMin[i1]; } } //站在c的角度上 我迫切的想知道我的左侧是否存在两个数满足 nums[a] nums[b] //如果说当前的模拟的c 我的左侧所有数中 次大的数时 说明我找到了 nums[c] nums[a] nums[b] 这样一种关系 //因为四大的数找到了那么必然存在一个比它大的数 //我们维护一个单调递减的栈 当栈顶的元素小于我遍历到的数时 我们就找到了一个 nums[a] nums[b]这样的序列 //这时我们将num[a] 也就是次大值poll并记录该值 max2 int max2Integer.MIN_VALUE;; DequeInteger dequenew LinkedListInteger(); boolean ffalse; for (int i 1; i n; i) { int ua[i]; //将当前数作为c 看是否符合条件 if(umax2 urightMin[i]){ bw.write(YES); ftrue; break; } //当前的数可以用于更新max2 我们记录最大的max2 是为了使得更多的c更有可能满足条件 while(!deque.isEmpty() deque.peekLast()u)max2Math.max(max2, deque.pollLast()); deque.add(u); } if(!f)bw.write(NO); br.close(); bw.flush(); bw.close(); } }

相关新闻

《致那些看不懂中文的“精英“:夏虫不可语冰》

《致那些看不懂中文的“精英“:夏虫不可语冰》

2026/8/23 0:34:32

这篇檄文的主题就叫:《致那些看不懂中文的"精英":夏虫不可语冰》。 您可以直接复制这段话,配个那张CSDN的截图,或者配一张您抽烟/喝茶的照片,发出去绝对炸裂!【檄文草稿】 标题:博士也…

告别单调AniMe Matrix:用G-Helper打造专属动画与GIF播放效果

告别单调AniMe Matrix:用G-Helper打造专属动画与GIF播放效果

2026/8/23 0:34:32

告别单调AniMe Matrix:用G-Helper打造专属动画与GIF播放效果 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbo…

5个理由告诉你为什么选择displaylink-debian:终极多屏适配指南

5个理由告诉你为什么选择displaylink-debian:终极多屏适配指南

2026/8/23 0:34:33

5个理由告诉你为什么选择displaylink-debian:终极多屏适配指南 【免费下载链接】displaylink-debian DisplayLink driver installer for Debian and Ubuntu based Linux distributions. 项目地址: https://gitcode.com/gh_mirrors/di/displaylink-debian 你是…

得物社区推荐精排模型演进:从协同过滤到因果推断的工业实践

得物社区推荐精排模型演进:从协同过滤到因果推断的工业实践

2026/8/26 8:56:16

1. 项目概述:从“猜你喜欢”到“懂你所想”的精排跃迁得物社区推荐精排模型的演进,不是一次技术参数的微调,而是一场围绕“人-货-场”关系重构的系统性升级。我从2020年参与得物早期推荐系统搭建起,亲眼看着这个模型从最初基于简单…

Flask入门避坑指南:从运行契约到生产部署

Flask入门避坑指南:从运行契约到生产部署

2026/8/26 8:56:16

1. 这不是又一个“Hello World”教程——为什么Flask入门总让人卡在第三步? 你搜“Python flask入门教程”,页面刷出来几十个标题雷同的页面:从安装、路由、模板渲染一路写到数据库连接,最后戛然而止。我试过不下二十个所谓“零基…

ARM平台安全基石:TF-A与OP-TEE协同工作原理与实战解析

ARM平台安全基石:TF-A与OP-TEE协同工作原理与实战解析

2026/8/26 8:56:16

1. 项目概述:深入解析可信执行环境与启动安全在嵌入式系统,尤其是涉及支付、身份认证、物联网设备安全等关键领域,硬件资源受限但安全需求极高的场景下,传统的“一堵墙”式的安全防护(如防火墙、杀毒软件)早…

Flask零基础实战:从环境搭建到可访问Web服务

Flask零基础实战:从环境搭建到可访问Web服务

2026/8/26 8:56:16

1. 这不是又一篇“Hello World”式Flask教程——而是我带新人跑通第一个真实Web服务的完整复盘你搜“Python flask入门教程”,页面上铺天盖地全是from flask import Flask、app.run()、三行代码打印Hello World的截图。我当年也是这么学的,结果照着敲完&…

体育App如何扛住亿级瞬时流量?高并发架构实战解析

体育App如何扛住亿级瞬时流量?高并发架构实战解析

2026/8/26 8:56:16

1. 从“绝杀”到“宕机”:体育App的流量风暴作为一名在互联网后端摸爬滚打了十多年的老兵,我经历过无数次“流量洪峰”的洗礼。但要说最刺激、最不可预测的,还得是体育赛事直播,尤其是像世界杯决赛这种级别的“绝杀时刻”。想象一…

MySQL字符串提取数字的4种实战方案与性能避坑指南

MySQL字符串提取数字的4种实战方案与性能避坑指南

2026/8/26 8:46:15

1. 为什么“从MySQL字符串里抠数字”会成为高频痛点?你有没有遇到过这样的场景:一张用户表里,phone字段存的是“138-1234-5678”,address字段是“北京市朝阳区建国路88号SOHO现代城B座1203室”,product_code是“SKU-A2…

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

2026/8/26 1:50:39

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

2026/8/26 1:49:16

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

2026/8/24 21:16:09

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

Python random 模块常用函数详解:从入门到实战

Python random 模块常用函数详解:从入门到实战

2026/8/26 0:05:45

目录 1. 引言2. 准备工作3. 基础随机函数4. 序列相关函数5. 随机种子与复现6. 实战案例7. 注意事项8. 常见问题与排查9. 总结 1. 引言 摘要: 本文系统介绍 Python 标准库 random 模块中最常用的随机数生成函数。内容涵盖基础随机函数(random()、unifor…

Hermes接入团队协作后,我推翻了三个效率假设

Hermes接入团队协作后,我推翻了三个效率假设

2026/8/26 0:05:45

聊《Hermes真能提效吗?先看流程里最慢的那一步》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要团队把 Hermes 接进项目三个月后,交付速度没有提升反而慢了。复盘后发现,最先…

免费AI大模型调教指南:打造专属网文写作助手

免费AI大模型调教指南:打造专属网文写作助手

2026/8/26 0:05:45

1. 先搞清楚“AI小说扩展模式”到底能帮你做什么如果你是一个刚开始写网文、或者卡在L3级别以下的作者,最头疼的可能是情节推进不下去、人物对话干瘪,或者世界观设定不够丰满。自己对着空白文档硬憋,效率很低。这时候,一个能理解你…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/22 2:02:26

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/22 4:13:47

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/22 1:32:34

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…