CF1588F Jumping Through the Array

技术CF1588F Jumping Through the Array CF1588F Jumping Through the ArrayCF1588F Jumping Through the Arra

穿过阵列

CF1588F Jumping Through the Array

给定长度为(n)的序列(a)和排列(p ),可以实现下列操作:

给出\(l,r\)。seek \(\ sum \ limits _ { I=l } { r } a _ I \);

给出\(x,y\)。让我们将\(I \u to p _ I \u)连接成置换环,并将\(y \u)加到环上\(x \u)所在的每个点的权重上。

给出\(x,y\)。Exchange \(p_x,p_y\)。

\ 1 \ le n \ le 2 \ cdot 10^5,-10^8\le a _ I \ le 10^8,1\le p _ I \ le n,1\le q\le 2\cdot 10^5\)。

时间限制\(\text{8000ms}\),空间限制\(\text{512MB}\)。

Solution

按照时间根考虑分治,我们将一起处理\(B\)个连续操作。

我们把\(2\)操作的操作点(即\(x\)和\(3\)操作的操作点(x,y\)染成黑色,只操作这些黑点。

在操作之前考虑每个置换环,如下所示:

我们把它分成几个“链”(红色区域),可以发现每个链在操作中都是作为一个整体出现的,也就是,\(\Delta\)相等:

只有\(2B\)个链,所以我们只需要为每个链维护\(\Delta\)。

对于\(1\)操作,区间\([l,r]\)的点权重之和为\(\sum\limits_{ I=l} {r} \)加上\(\sum\limits_{每个链} \ delta \。

对于\(2\)操作,它必须将\(y\)和复杂性\ (o (b) \)添加到当前\(x\)所在的链和该链所在的环的其他链中。

对于\(3\)运算,我们交换两个黑点的链号,即\(O(1)\)。

在这一点上,我们可以以(o(\ frac { q } { b } \ CDOT(B2 \ log n))\)的复杂性来解决这个问题。

取\(B=\sqrt{n/\log n}\),时间复杂度\(O(q\sqrt{n\log n})\)。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/92786.html

(0)

相关推荐

  • debian如何修改apache2 https端口为11443

    技术debian如何修改apache2 https端口为11443本篇文章为大家展示了debian如何修改apache2 https端口为11443,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希

    攻略 2021年11月12日
  • 如何用DolphinDB分析淘宝用户的行为

    技术如何使用DolphinDB进行淘宝用户行为分析如何使用DolphinDB进行淘宝用户行为分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Dolphin

    攻略 2021年12月20日
  • aabc的四字词语有哪些,aabc含反义词的四字词语

    技术aabc的四字词语有哪些,aabc含反义词的四字词语面面相觑aabc的四字词语有哪些、彬彬有礼、孜孜不倦、侃侃而谈、娓娓道来、惴惴不安、翩翩起舞、栩栩如生沾沾自喜、步步为营、炯炯有神、咄咄逼人研究研究、讨论讨论、商量

    生活 2021年10月22日
  • 5 个IDEA 必备插件是什么

    技术5 个IDEA 必备插件是什么本篇内容介绍了“5 个IDEA 必备插件是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有

    攻略 2021年11月2日
  • 设计模式-观察者模式(c++)

    技术设计模式-观察者模式(c++) 设计模式-观察者模式(c++)当股票的价格上涨或下降5%时,会通知持有该股票的股民,当股民听到价格上涨的消息时会买股票,当价格下降时会大哭一场。
    类图#include

    礼包 2021年11月20日
  • 如何使用OpenCV+Python去除手机拍摄文本底色

    技术如何使用OpenCV+Python去除手机拍摄文本底色本篇文章为大家展示了如何使用OpenCV+Python去除手机拍摄文本底色,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

    攻略 2021年11月2日