#P16679. [CSPro 27] 吉祥物投票

[CSPro 27] 吉祥物投票

背景

洛谷的测试数据仅供民间交流使用,非官方测试数据。官方评测链接:https://www.cspro.org/

题目描述

为了促进西西艾弗岛上的旅游业发展,当地决定设计一个吉祥物形象。活动吸引了众多设计领域的大师和爱好者参加,经过初步筛选,共选出了 mm 个作品,编号为 1m1 \sim m,进行最终的投票角逐。

活动还吸引了西西艾弗岛上的 nn 名投票者参与,编号为 1n1 \sim n,每人都在最终的投票环节拥有投一票的权利,也可以放弃投票。我们定义每个人的投票意愿 ai(1in)a_i (1 \leq i \leq n) 为一个 0m0 \sim m 的整数,若 ai=0a_i = 0 表示这个人目前没有支持的作品,打算放弃投票,否则表示这个人支持第 aia_i 号作品并有意愿将票投给它。

最初,由于所有人对参与竞选的作品都不了解,因此投票意愿 aia_i 均为 0。接下来是紧张刺激的拉票环节,作品的设计者们要想方设法给自己的作品拉票,这一过程中可能出现如下若干种事件:

  • 1 l r x1\ l\ r\ x:编号为 xx 的作品开展了一场拉票活动,成功地吸引了编号为 lrl \sim r 的投票者的兴趣,使得他们的投票意愿全部改为 xx
  • 2 x w2\ x\ w:编号为 xx 的作品需要经历一次大规模修改,所以需要暂时退出竞选。由于 xxww 两个作品的风格较为相近,因此原先投票意愿为 xx 的投票者的投票意愿变为了 ww。特别地,若 w=0w = 0,表示这些投票者暂时找不到新的支持的作品。需要注意的是,作品 xx 退出竞选只是暂时的,因此后续的事件中作品 xx 仍可能出现。
  • 3 x y3\ x\ y:主办方发现自己的统计出现了失误,将编号为 xxyy 的作品弄颠倒了。发布勘误后,所有原先投票意愿为 xx 的投票者的投票意愿变为了 yy,所有原先投票意愿为 yy 的投票者的投票意愿变为了 xx
  • 4 w4\ w:主办方决定进行一次调查:希望知道所有投票者中,当前投票意愿为 ww 的有多少人。若 w0w \neq 0,相当于调查有多少投票者目前支持作品 ww,否则相当于调查有多少投票者目前没有支持的作品。
  • 55:主办方决定进行一次调查:若以现在的投票意愿进行最终的投票,获胜的作品是哪一个。规定得票数至少为 1 且最多的作品获胜,得票数相同则编号较小的作品获胜。特别地,若所有作品均无得票,认为不存在获胜作品。

从拉票开始到结束,共出现了 qq 次如上的事件。由于参选的作品数和投票人数实在太多,单凭活动主办方的能力难以全面统计,现在请你编写一个程序来处理这些事件,并求出每次调查的结果。

输入格式

从标准输入读入数据。

第 1 行,3 个正整数 n,m,qn, m, q

接下来 qq 行,每行 141 \sim 4 个非负整数,描述一个事件。

输出格式

对于每个 4 或 5 事件输出一行,一个非负整数表示此次调查的结果。其中事件 5 若不存在获胜作品则输出 0。

10 2 15
5
1 2 4 1
1 4 7 2
4 1
5
1 3 4 1
5
1 7 9 1
3 1 2
4 2
2 1 2
4 2
2 2 0
4 2
5
0
2
2
1
6
8
0
0

提示

数据范围

::cute-table{tuack}

测试点编号 nn \leq mm \leq qq \leq 特殊性质
141 \sim 4 1000010000 20002000
575 \sim 7 10910^9 ^ ^
898 \sim 9 2×1052 \times 10^5 11 10510^5
101110 \sim 11 ^ 10510^5 ^ rl10r - l \leq 10,只有事件 1,4,51, 4, 5
121412 \sim 14 ^ rl10r - l \leq 10
151715 \sim 17
182018 \sim 20 10910^9 ^

对于所有的数据,满足 1n1091 \leq n \leq 10^91m1 \leq mq105q \leq 10^51lrn1 \leq l \leq r \leq n1x,ym1 \leq x, y \leq m0wm0 \leq w \leq m。保证事件 2 中 xwx \neq w,事件 3 中 xyx \neq y