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

CF455D Serega and Fun

洛谷传送

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

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

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

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

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

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

相关文章:

  • 实验任务1
  • 实验任务
  • 61.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--新增功能--提取金额 - 实践
  • 使用 Ansible 部署 Elasticsearch 集群
  • 免费无广告!这款开源工具让文件转换像复制粘贴一样简单!
  • 时序InSAR形变结果合并操作说明 - ENVI
  • 在Vue.js中设置方法时访问$vuetify实例
  • 纷享销客CRM任务系统:破解快消品终端动销管理难题
  • 第一周博客作业-介绍自己
  • 完整教程:zookeeper+kafka
  • AI大模型应用简介 - 努力-
  • 完整教程:01_5分钟运行你的第一个LLM:Hugging Face入门
  • codeforces 1504 div3
  • React 基础核心概念(8 个)——从入门到能写业务组件(上)| 葡萄城技术团队
  • 2 day - when
  • 实用指南:轻松玩转Swagger API文档神器
  • 记录java调用eclipse cdt 解析c++文件
  • Chormium 密码管理器表单结构体说明(基于Chromium138)
  • 为什么人工智能选择Python?深入解析AI界的胶水语言
  • 1 day(20250925) - when
  • 12分钟讲解Python核心理念
  • 【重要】什么是 PEP 8 规范
  • 实用指南:华为坤灵:点燃中小企业智能化的星火
  • 阻止HTML input元素(type=number)中输入字母e的方法
  • 【Prompt学习技能树地图】利用GitHub-Prompt Engineering Guide进阶学习Prompt工程指南 - 指南
  • 深入解析:KRaft 运维从静态到动态 Controller
  • Windows时间同步列表注册表授时时间服务器
  • epub如何让标题在竖直方向居中
  • Apple Books 对 epub 支持的限定(未完待续)
  • 完整教程:区间dp,数据结构优化dp等6种dp,各种trick深度讲解