2819. 动态逆序对
题目链接
2819. 动态逆序对
对于序列 ,它的逆序对数定义为满足 ,且 的数对 的个数。
给 到 的一个排列,按照某种顺序依次删除 个元素,你的任务是在每次删除一个元素之前统计整个序列的逆序对数。
输入格式
第一行包含两个整数 和 ,即初始元素的个数和删除的元素个数。
以下 行每行包含一个 到 之间的正整数,即初始排列。
以下 行每行一个正整数,依次为每次删除的元素。
输出格式
输出包含 行,依次为删除每个元素之前,逆序对的个数。
数据范围
,
输入样例:
输出样例:
样例解释
给定序列变化依次为 。
解题思路
cdq分治
按时间增加一个维度:时间戳,每次删除都有一个唯一的时间戳 ,其他没有删除的数的时间戳可任意指定,为方便后面树状数组的处理,每次删除将时间戳倒序处理,对于元素 ,求出删除 之前,即 之前,满足 或 的对数,即对于 ,求出 或 的对数即可,故需要两遍 ,另外,里面双指针的位置等信息需要考虑一下
- 时间复杂度:
代码
__EOF__

本文作者:acwing_zyy
本文链接:https://www.cnblogs.com/zyyun/p/16784171.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/zyyun/p/16784171.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!