TouchStone
  请登录后使用
登录 注册
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P3158
  • 题目
  • P3158【nodgd又来造水题】赏花升级版 | HH的项链升级版
    限制 : 时间限制 : 50000 MS   空间限制 : 565536 KB
    评测说明 : 5s
    问题描述

    【醒目】做这道题之前需要先看看NKOJ2387赏花这道题。
    update2020: 还要先去看看2463,3703,4374



    题意简单粗暴:
    一个长度为n的序列{A1,A2,...,An},m次操作:
    1.C k t:把Ak改成t;
    2.A l r:提问Al,...,Ar有多少个不同的数。
    为了防止离线算法,k,t,l,r都要异或lastans才是真正的操作,lastans一开始等于0。

    输入格式

    第一行两个数n,m,表示序列长度和操作次数。
    第二行n个数,表示初始序列。
    接下来m行,每行一个字符两个数,表示一次操作。

    输出格式

    每次提问输出一行,表示答案。

    样例输入

    5 5
    1 2 3 4 5
    A 2 5
    C 0 6
    A 5 0
    A 0 7
    A 0 7

    样例输出

    4
    3
    2
    3

    提示

    样例解释:
    解密后是这样的:
    5 5
    1 2 3 4 5
    A 2 5
    C 4 2
    A 1 4
    A 3 4
    A 2 5

    数据范围:
    1<=n<=200000
    1<=m<=200000
    1<=每个数<=n
    两种操作几乎各占一半