首页 > 其他分享 >copy (倒叙离线+bitset+^特性) (hud 2022多校 2)

copy (倒叙离线+bitset+^特性) (hud 2022多校 2)

时间:2022-09-05 10:44:23浏览次数:64  
标签:hud 位置 离线 多校 取反 bitset 操作 贡献

题目:

给定一个序列 a1,a2,…,an,共有 q 次操作,每次操作有两种类型:

  • 操作1
    (1,l,r) 表示复制区间 [l,r] 的内容,在区间 [l,r]的末尾处插入这段内容。
  • 操作2
    (2,x) 询问当前 ax 的值。

只需要输出所有操作2答案的异或和即可,保证操作1的数量不超过 20000次,初始序列长度不超过 10e5,操作的 l,r,x 均不超过初始序列长度。

思路:

  • 操作 l r x 都不会超过 n, n以外就不用管
  • 对ans进行^, 那么同一个位置, 只有奇数时才会对ans 做出贡献,既最多贡献一次
  • 可以用bitset表示0,1 表示这个位置是否贡献
  • 在线操作挪位置,是不好搞的,
  • 反向思考,对于目标位置他的实际位置在那?给他诺回去,
  • 这样就是挪动贡献位置了, 用bitset很好表示
  • 倒序的弄, 遇到 1操作, 就把 r 后面的位置先前面挪动 r-l+1,然后来 ^ 1-r的bitset
  • 遇到2,就取反就行了

bitset 相关操作:

  • .set() 让所有位 变成1
  • .flip(x) 对x取反
  • .reset() 所有位 变为0
  • .count() 1 的个数
  • .any() 是否有1

 

标签:hud,位置,离线,多校,取反,bitset,操作,贡献
From: https://www.cnblogs.com/Lamboofhome/p/16657264.html

相关文章

  • "蔚来杯"2022牛客暑期多校训练营7
    CConstructiveProblemsNeverDie题意:给你一个数组A,你需要构造一个排列P,使得P[i]≠A[i]分析:考虑构造不出来的情况如果所有A[i]都相同一定不成立先构造P[i]=i......
  • 编译安装nginx脚本(此脚本为离线安装)
    #!/bin/bash#********************************************************************#Author:HE-handsome#QQ:2700565402#Date:2022-08-03#Fil......
  • 离线 搭建vue环境运行项目步骤
    离线搭建vue环境运行项目步骤离线搭建vue环境运行项目步骤 1复制本地(外网电脑npm-cache缓存目录)  cmd运行命令npmconfiggetcache 2内网电脑安装......
  • "蔚来杯"2022牛客暑期多校训练营6
    A.Array给定\(\geqslant2\)的整数\(a_1,a_2,...,a_n\),满足\(\sum\limits_{i=1}^n\frac{1}{a_i}\leqslant\frac{1}{2}\),构造一个循环数列,使得其任意长度为\(a_i\)的子区......
  • Fast Bubble Sort (单调zai+倍增) (2022杭电多校10)
    VirtualJudge(vjudge.net)题目:题目大意:首先说明一个性质,A表示一个数组,B(A)表示把这段数组进行一遍冒泡排序的下沉操作,就是把大数沉底。然后题目给我们一个长度为n的......
  • 2022牛客暑假多校01B[Spirit Circle Observation]
    2022牛客暑假多校01B[SpiritCircleObservation]大致题意给出一个长度为\(n\)的字符串\(s\),求有多少个子串对\((A,B)\),满足\(1.|A|=|B|\)\(2.\overline{A}+1=......
  • cent7.3离线安装oracle19c
    需要准备的安装包下载oracle-database-ee-19c-1.0-1.x86_64.rpmoracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm下载依赖http://rpmfind.net/linux/rpm2html/sea......
  • 2022 HDU多校10
    WinnerPrediction(网络流)Problem\(n\)个人进行比赛,赢最多的人获胜,保证一定可以分出胜负,现在已知\(m_1\)场对决结果,还有\(m_2\)场对决结果未知,但知道比赛的两个人是谁,问......
  • 2022 HDU多校9
    ArithmeticSubsequence(二进制、思维、分治)Problem给定一个长度为\(n\)的序列,问是否可以对它重新排序使得重排后的序列中不存在等差子序列Solve如果一个数出现了\(3......
  • 2022 HDU多校8
    Theramore(思维)Problem给定一个01串,可以进行无限次操作,每次操作可以把一个长度为奇数的区间翻转,问可以得到的字典序最小的01串是多少Solvehit1:反转后奇数位置还是在......