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

主席树(可持久化线段树)

主席树(可持久化线段树)

\(\mathcal O(N\log N)\) 的时间复杂度建树、查询、修改。

struct PresidentTree {static constexpr int N = 2e5 + 10;int cntNodes, root[N];struct node {int l, r;int cnt;} tr[4 * N + 17 * N];void modify(int &u, int v, int l, int r, int x) {u = ++cntNodes;tr[u] = tr[v];tr[u].cnt++;if (l == r) return;int mid = (l + r) / 2;if (x <= mid)modify(tr[u].l, tr[v].l, l, mid, x);elsemodify(tr[u].r, tr[v].r, mid + 1, r, x);}int kth(int u, int v, int l, int r, int k) {if (l == r) return l;int res = tr[tr[v].l].cnt - tr[tr[u].l].cnt;int mid = (l + r) / 2;if (k <= res)return kth(tr[u].l, tr[v].l, l, mid, k);elsereturn kth(tr[u].r, tr[v].r, mid + 1, r, k - res);}
};
http://www.gsyq.cn/news/28836.html

相关文章:

  • Spring Boot 整合 MiniMax 与 CosyVoice 语音合成服务实践指南
  • 251024
  • CF1401B Ternary Sequence
  • 离在线SDK配置
  • 傅立叶,程心和路明泽
  • 搞定三大PLC通讯:倍福与西门子、欧姆龙与西门子数据互通实战
  • 牛客2025秋季算法编程训练联赛2-(基础组提升组)
  • 树链剖分/轻重链剖分
  • 每日反思(2025_10_23)
  • C#编程时winform程序登陆记住密码和自动登录功能,关于App.config的问题及解决方案
  • [C/C++] Linux 环境变量(C/C++ ver)
  • 【题解】P14254 分割(divide)
  • Day2路径,相对与绝对
  • 第九届强网杯线上赛PWN_flag-market
  • ISFB银行木马家族演化史:从Gozi到LDR4的技术剖析
  • exgcd板子
  • 编程练习
  • Codeforces Round 976 (Div. 2) A. Find Minimum Operations
  • 20251021 NOIP模拟赛
  • RocketMQ+Spring Boot的简单实现及其深入分析
  • XSD 文档(XML Schema Definition)简介
  • LLM 场景下的强化学习技术扫盲
  • vmware虚拟机下载安装教程(付安装包)详细图文下载安装教程
  • deepin 25 虚拟机安装vgpu客户机驱动
  • CF2153D
  • 英语_阅读_inspiration for artists_待读
  • Node.js JSON import attributes All In One
  • DeepSeek的“认知提纯”能力解析
  • Plya 定理学习笔记 | ABC428G 题解
  • 告别繁琐排版!揭秘2025年公众号推文排版top1神器