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

数据结构杂谈

树状数组(BIT)

码量小,常数小。

支持单点修改,前缀查询。

区间修改+区间查询

区间修改可以使用差分解决。

对于区间查询,可以先考虑前缀查询:

记差分数组为\(d_i\),原数组为\(a_i\),前缀和数组为\(S_i\)

\(a_i\ =\ \sum_{j=1}^{i} d_j\)\(S_i\ =\ \sum_{j=1}^{i} a_j\)

\(S_i\ =\ \sum_{j=1}^{i} (i-j+1)d_j\)

展开得\(S_i\ =\ (i+1)\sum_{j=1}^{i} d_j-\sum_{j=1}^{i} j\times d_j\)

所以维护两个树状数组,分别记录\(d_i\)\(i\times d_i\)的值。

树状数组上二分

给出一个序列,单点修改,前缀查询第一个前缀和大于\(k\)的位置。

对于此类问题,直接二分的复杂度是\(O(log^2 n)\)的。

我们可以使用树状数组上二分,复杂度:\(O(log n)\)

说是二分,其实二分也没太大关系。

从高到低枚举 2 的次幂,不断向前跳,最终得到答案。

权值树状数组

当值域较小时,可以直接在值域上开树状数组。

否则也可以离散化。

权值树状数组可以解决以下问题:

1.插入一个数,删除一个数

2.查询前缀有多少数大(小)于当前值

3.查询全局(前缀)第\(k\)大(小)值(树状数组二分)

高维树状数组

比较少见,更多用于解决\(k\)维偏序和\(k\)维数点。

\(k\)维树状数组的时间复杂度:\(O(log^k n)\)

http://www.jsqmd.com/news/367259/

相关文章:

  • 零基础玩转墨语灵犀:古典美学AI翻译工具入门指南
  • 2026年专业的主机入侵检测,Linux主机安全厂商行业实力榜单 - 品牌鉴赏师
  • 3步搞定YOLO X Layout部署:文档分析从未如此简单
  • 天童凯伊,一把陪伴王女的钥匙
  • 中文通用识别新体验:万物识别镜像功能全解析
  • Qwen3-ASR-1.7B语音识别入门:从上传到输出的完整流程
  • 从零开始:用Qwen-Image-Lightning制作赛博朋克风格壁纸
  • Qwen3-Reranker快速上手:5分钟搭建语义检索工具
  • 无需显卡!用Ollama在CPU上运行MiniCPM-V-2_6全攻略
  • Z-Image-Turbo实战:用Jimeng AI Studio轻松创作高清图片
  • 2026年优秀的微启式安全阀,杠杆式安全阀厂家用户优选推荐 - 品牌鉴赏师
  • 造相-Z-Image在电商场景的应用:快速生成商品展示图
  • 轻舟已过万重山,GDFZ OI交流群领跑 Atcoder
  • AIVideo分镜生成:AI如何自动设计视频画面?
  • 2026年可靠的算力高防服务器,高防服务器CC防护公司优质品牌推荐名录 - 品牌鉴赏师
  • CANN GE:图神经网络驱动的多模态AIGC创新
  • 2026年诚信的网站安全防护,商城/电商网站安全厂商选购推荐指南 - 品牌鉴赏师
  • 寒假集训模拟赛总结。
  • MiniCPM-V-2_6多语言支持实测:中英德法意韩图文理解对比分析
  • OpenHarmony Flutter 分布式数据持久化:跨设备数据一致性与同步方案 - 详解
  • 2026年2月盆栽基质土优质厂家,精准检测性能稳定专业解析 - 品牌鉴赏师
  • 零基础玩转浦语灵笔2.5-7B:图文问答实战指南
  • Qwen3-ASR-1.7B实战:会议录音转文字保姆级教程
  • Nunchaku FLUX.1 CustomV3开箱体验:轻松创作专业级AI艺术
  • SiameseAOE中文-base部署教程:Ubuntu/CentOS/WSL三平台WebUI一键启动实录
  • MogFace镜像惊艳效果展示:演唱会万人合影中精准定位并计数所有可见人脸
  • Cogito-v1-preview-llama-3B部署教程:Docker Compose编排多模型服务
  • 保姆级教程:SDPose-Wholebody镜像部署与多人姿态检测全流程
  • Qwen3-ForcedAligner-0.6B保姆级教程:Web界面一键操作
  • EagleEye DAMO-YOLO开箱即用:实时视频流目标检测教程