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

CF455D Serega and Fun

洛谷传送

看起来很能分块啊!然后一个分块吧唧一下拍上去就过了。

好的我们还是来看看平衡树做法。

我们考虑每次操作是什么。发现其实是把 \(a_r\) 的位置移到了 \(a_l\) 的前面,\(a_i\sim a_{r-1}\) 内的所有元素向右平移了一格。这种平移看起来可以用平衡树维护,所以我们开一颗平衡树维护(原)下标序列。

又因为我们每次要查询一种颜色,所以可以把 \(n\) 种颜色分开考虑。给每一种颜色开一颗平衡树,维护(现)元素的相对顺序。每次操作在下标平衡树上找到要移动的元素并将其在对应颜色的树上移动,查询则直接在对应颜色的平衡树上查询区间元素数量即可。

然后再拍一个 FHQ 或者什么别的平衡树上去就可以了。不过码量肯定比分块大。

http://www.gsyq.cn/news/12056.html

相关文章:

  • 实验任务
  • React 基础核心概念(8 个)——从入门到能写业务组件(上)| 葡萄城技术团队
  • 实用指南:轻松玩转Swagger API文档神器
  • 为什么人工智能选择Python?深入解析AI界的胶水语言
  • 1 day(20250925) - when
  • 【重要】什么是 PEP 8 规范
  • 实用指南:华为坤灵:点燃中小企业智能化的星火
  • Windows时间同步列表注册表授时时间服务器
  • Mac 安装PDF2zh
  • 2025Unity必备知识——GUI(完整详细) - 指南
  • 读人形机器人23政府的角色
  • Python 在人工智能与机器学习中的地位与实践
  • 十八岁前开始远征
  • 设置vscode的默认字符编码
  • Natural Language Processing
  • Python 在自动化与运维中的价值与实践
  • redis 哨兵模式主从数据同步失败
  • US$66.5 Yanhua ACDP FEM/BDC Bench Integrated Interface Board
  • sql练习笔记
  • 算法练习
  • 一次CPU飙升问题排查定位
  • ros2 control 2
  • 新学期每日总结(第4天)
  • VSCode 升级 C++支持版本
  • 在electron-vite使用ShadCN
  • 9-23
  • Ubuntu Uninstall App
  • day11 课程(学员管理系统案例)
  • US$128 OBD II Adapter Plus OBD Cable Works with CKM100 and DIGIMASTER III for Key Programming
  • jmeter函数