#P9148. 点修 & 区间频次查询(Point Set Range Frequency)

点修 & 区间频次查询(Point Set Range Frequency)

点修 & 区间频次查询(Point Set Range Frequency)

问题描述

给定一个长度为 N N 的整数序列 a0,a1,,aN1 a_0, a_1, \dots, a_{N-1}
处理 Q Q 个查询,类型如下:

  • 0 k v:将 ak a_k 修改为 v v
  • 1 l r x:查询子数组 al,al+1,,ar1 a_l, a_{l+1}, \dots, a_{r-1} 中值等于 x x 的元素个数。

约束条件

  • 0N2×105 0 \leq N \leq 2 \times 10^5
  • 0Q2×105 0 \leq Q \leq 2 \times 10^5
  • 0ai109 0 \leq a_i \leq 10^9
  • 0k<N 0 \leq k < N
  • 0v109 0 \leq v \leq 10^9
  • 0lrN 0 \leq l \leq r \leq N
  • 0x109 0 \leq x \leq 10^9

输入

N QN\ Q
a0 a1  aN1a_0\ a_1\ \cdots\ a_{N-1}
Query₀
Query₁
:
QueryQ1_{Q-1}

5 6
3 7 1 2 1
1 1 5 1
1 3 3 0
1 0 4 3
0 1 1
1 0 5 1
1 0 5 123456789
2
0
1
3
0