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

[ABC241D] Sequence Query 题解

[ABC241D] Sequence Query

Description

有一个空序列 \(a\)。给定 \(q\) 次操作,每次询问是以下三种之一:

  • 1 x:向 \(a\) 中插入元素 \(x\)
  • 2 x k:输出 \(a\) 中所有 \(\le x\) 的元素中的第 \(k\) 大值。如果不存在输出 -1
  • 3 x k:输出 \(a\) 中所有 \(\ge x\) 的元素中的第 \(k\) 小值。如果不存在输出 -1

Solution

考虑使用 set 维护。

操作 \(1\) 直接 s.push(x) 即可。

剩下两个操作我们可以分开考虑,先找到 \(a\) 中所有 \(\le x\) 的元素中最大的,然后从大往小跳 \(k\) 次即可。

相对地,对于操作 \(3\) 我们可以考虑先用 lower_bound 找到 \(a\) 中所有 \(\ge x\) 的数中最小的,然后往大跳 \(k-1\) 次即可。

注意:lower_bound 找的是 \(a\) 中所有 \(\ge x\) 的数中最大的,所以只需要跳 \(k-1\)

#include<bits/stdc++.h>
#define int long long
using namespace std;
multiset<long long>s;
long long T;
inline void solve(){cin>>T;while(T--){int opt,x,k;cin>>opt>>x;if(opt==1){s.insert(x);}else if(opt==2){cin>>k;auto it=s.upper_bound(x);int ok=1;while(k){if(it==begin(s)){ok=0;break;}k--;advance(it,-1);}if(ok){cout<<*it<<endl;}else{cout<<-1<<endl;}}else{cin>>k;k--;auto it=s.lower_bound(x);int ok=1;while(k){if(it==end(s)){ok=0;break;}k--;advance(it,1);}if(it==end(s)){ok=0;}if(ok==1){cout<<*it<<endl;}else{cout<<-1<<endl;}}}
}
signed main(){solve();return 0;
}
http://www.jsqmd.com/news/69427/

相关文章:

  • Prometheus + Grafana 原理和用法
  • 2025年度不锈钢板直销优质厂家TOP榜单盘点,不锈钢中厚板/201不锈钢板/不锈钢热轧板/不锈钢板现货批发哪家好 - 品牌推荐师
  • 12.09
  • 2025年市场技术好的不锈钢热轧板生产厂家怎么选择,304不锈钢冷热轧板材/316L不锈钢冷热轧板材定制加工有哪些 - 品牌推荐师
  • 完整教程:浏览器工作原理大揭秘:从输入网址到看到页面的奇妙旅程
  • 什么是API?一文让你彻底搞明白! - 智慧园区
  • mysql优化
  • Troubleshooting一定要逻辑严谨与逻辑自洽
  • 企业微信相关文档
  • 实用指南:【鸿蒙生态共建】鸿蒙6适配-API变化与兼容(2.UI交互与基础能力篇)--《精通HarmonyOS NEXT :鸿蒙App开发入门与项目化实战》读者福利
  • 2026考研政治肖秀荣 408真题教材 资料提供
  • 告别选择困难!SAT辅导机构大揭秘 - 品牌测评鉴赏家
  • 2025.12.9博客
  • ubuntu docker运行大模型
  • 【自荐】OneClip—— 一款简单专业的 macOS 剪贴板管理工具
  • igbt模块的栅极驱动芯片,栅极电阻计算
  • zfk_蓝桥杯C++学习_递归及时空复杂度
  • 托福一对一机构怎么选?高性价比推荐+避坑指南,2025备考党必看! - 品牌测评鉴赏家
  • 构建高准确率、可控、符合规范的政务数据库审计和监测方案
  • 疫苗的“设计图纸”如何变成现实?浅谈重组蛋白技术
  • 数据脱敏:在数据价值与隐私安全之间构建平衡
  • TK: 计算三角形的面积
  • SAT 辅导机构怎么选?2025 年高性价比机构测评指南(附避坑攻略) - 品牌测评鉴赏家
  • SAT 辅导机构怎么选?2025 年高性价比机构测评与避坑指南(附收费标准与选课攻略) - 品牌测评鉴赏家
  • 公式怎么写
  • 2025春季 PTA 中国大学MOOC上面的数据结构测试第三题 待修正中
  • 完整教程:C如何调用Go
  • vllm部署
  • 漏洞赏金猎人不会告诉你的秘密:从100多个已报告漏洞中总结的技巧
  • 2025.12.9