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

[JSK]动态数列I

[JSK]动态数列I

大意

每次在一段序列的末尾加一个数 \(x\),每次查询序列从大到小排序后的第 \(x\) 个数。

思路

考虑权值线段树。

实际上我们只需要维护一个很大的桶,这个玩意就是权值线段树,我们只需要维护子树内有几个元素,如果是满足右区间大于等于 \(x\),就去右区间找,否则,去左区间找,但是此时找左区间内第 \(x - val_{rc}\) 大的(大的在右子树)。

代码

#include <bits/stdc++.h>
using namespace std;
const int N = 5e5 * 4 + 10;
int val[N], lazy[N], n, m;void pushup(int rt) {val[rt] = val[rt * 2] + val[rt * 2 + 1];
}void update(int rt, int l, int r, int pos, int x) {if (l == r) {val[rt] ++;return;}int mid = (l + r) / 2;if (pos <= mid) {update(rt * 2, l, mid, pos, x);} else {update(rt * 2 + 1, mid + 1, r, pos, x);}pushup(rt);
}int query(int rt, int l, int r, int x) {if (l == r) return r;int mid = (l + r) / 2;if(x <= val[rt * 2 + 1]){return query(rt * 2 + 1, mid + 1, r, x);}else {return query(rt * 2, l, mid, x - val[rt * 2 + 1]);}
}int main() {std::ios::sync_with_stdio(false);cin.tie(0); cout.tie(0);int op, x;cin >> n >> m;for (int i = 0; i < n; i++) {cin >> x;update(1, 1, (int)(1e5 + 5), x, 1);}for (int i = 0; i < m; i++) {cin >> op >> x;if (op == 1) {update(1, 1, (int)(1e5 + 5), x, 1);} else {cout << query(1, 1, (int)(1e5 + 5), x) << endl;}}return 0;
}
http://www.jsqmd.com/news/78953/

相关文章:

  • 【大数据可视化分析毕设指导】基于Hadoop+Spark的干豆数据分析系统源码,Python+Django实现全流程 毕业设计 选题推荐 毕设选题 数据分析 机器学习
  • 使用Junit测试
  • 人类文明可通过技术手段(如加强航天器防护、改进电网设计)缓解地球两极反转带来的影响
  • springboot基于vue的护士资格在线练习和模拟考试系统的设计与实现_m23x6tm9
  • 智能客服
  • 当“雷同”不再只是文字问题:2025年企业标书查重的真实困境与破局之道
  • springboot基于vue的档案室管理系统_gmr7teee
  • ComfyUI由浅入深全方位,AI生图,AI生成视频,AI动画教程
  • AI行业应用全景:从金融风控到智能制造的落地实践与技术解析
  • 深入解析:STM32 几种烧录方式
  • 决策树模型实战指南:避免过拟合、欠拟合与无关特征
  • 2025年最后一个月,公司需要注意什么?
  • 可信数据空间:驱动社会高质量发展的“数字基石”,必要性无可替代
  • YashanDB数据库的读写分离策略分析
  • 3步搭建量化投资自动化分析系统:告别Excel手动操作
  • HarmonyOS 5 极致动效实验室:给 UI 注入“物理动效”
  • 自动驾驶汽车与利益相关者互动的功能安全与网络安全分析高效的方法
  • 基于Web的低代码系统的研究与实现中期检查
  • Airflow - AirflowSkipException
  • 2023马士兵Java后端工程师
  • 如何快速实现离线人脸识别:FaceAISDK完整指南
  • springboot基于vue的比亚迪新能源汽车销售系统的设计与实现_1061pdmq
  • springboot基于vue的拜泉县房屋拆迁安置信息管理系统设计与实现_yt2m39o4
  • Nextcloud文件压缩下载实用指南:轻松管理云端文件
  • springboot基于vue的故宫博物馆文创网店商城系统的设计与实现_oj61901i
  • 什么是UUID,怎么组成的?
  • 基于web的电影交流分享平台的设计与实现开题报告
  • YashanDB数据库的多活架构设计及实施要点.
  • Simple Form性能优化完整指南:5个实用技巧让Rails表单快如闪电
  • 基于WEB的多媒体素材管理库的开发与应用任务书