P16679 [CSPro 27] 吉祥物投票

题目背景

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

题目描述

为了促进西西艾弗岛上的旅游业发展,当地决定设计一个吉祥物形象。活动吸引了众多设计领域的大师和爱好者参加,经过初步筛选,共选出了 $m$ 个作品,编号为 $1 \sim m$,进行最终的投票角逐。 活动还吸引了西西艾弗岛上的 $n$ 名投票者参与,编号为 $1 \sim n$,每人都在最终的投票环节拥有投一票的权利,也可以放弃投票。我们定义每个人的投票意愿 $a_i (1 \leq i \leq n)$ 为一个 $0 \sim m$ 的整数,若 $a_i = 0$ 表示这个人目前没有支持的作品,打算放弃投票,否则表示这个人支持第 $a_i$ 号作品并有意愿将票投给它。 最初,由于所有人对参与竞选的作品都不了解,因此投票意愿 $a_i$ 均为 0。接下来是紧张刺激的拉票环节,作品的设计者们要想方设法给自己的作品拉票,这一过程中可能出现如下若干种事件: - **$1\ l\ r\ x$**:编号为 $x$ 的作品开展了一场拉票活动,成功地吸引了编号为 $l \sim r$ 的投票者的兴趣,使得他们的投票意愿全部改为 $x$。 - **$2\ x\ w$**:编号为 $x$ 的作品需要经历一次大规模修改,所以需要暂时退出竞选。由于 $x$ 与 $w$ 两个作品的风格较为相近,因此原先投票意愿为 $x$ 的投票者的投票意愿变为了 $w$。特别地,若 $w = 0$,表示这些投票者暂时找不到新的支持的作品。需要注意的是,作品 $x$ 退出竞选只是暂时的,因此后续的事件中作品 $x$ 仍可能出现。 - **$3\ x\ y$**:主办方发现自己的统计出现了失误,将编号为 $x$ 和 $y$ 的作品弄颠倒了。发布勘误后,所有原先投票意愿为 $x$ 的投票者的投票意愿变为了 $y$,所有原先投票意愿为 $y$ 的投票者的投票意愿变为了 $x$。 - **$4\ w$**:主办方决定进行一次调查:希望知道所有投票者中,当前投票意愿为 $w$ 的有多少人。若 $w \neq 0$,相当于调查有多少投票者目前支持作品 $w$,否则相当于调查有多少投票者目前没有支持的作品。 - **$5$**:主办方决定进行一次调查:若以现在的投票意愿进行最终的投票,获胜的作品是哪一个。规定得票数至少为 1 且最多的作品获胜,得票数相同则编号较小的作品获胜。特别地,若所有作品均无得票,认为不存在获胜作品。 从拉票开始到结束,共出现了 $q$ 次如上的事件。由于参选的作品数和投票人数实在太多,单凭活动主办方的能力难以全面统计,现在请你编写一个程序来处理这些事件,并求出每次调查的结果。

输入格式

从标准输入读入数据。 第 1 行,3 个正整数 $n, m, q$。 接下来 $q$ 行,每行 $1 \sim 4$ 个非负整数,描述一个事件。

输出格式

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

说明/提示

### 数据范围 ::cute-table{tuack} | 测试点编号 | $n \leq$ | $m \leq$ | $q \leq$ | 特殊性质 | | :-: | :-: | :-: | :-: | :-: | | $1 \sim 4$ | $10000$ | $2000$ | $2000$ | 无 | | $5 \sim 7$ | $10^9$ | ^ | ^ | ^ | | $8 \sim 9$ | $2 \times 10^5$ | $1$ | $10^5$ | ^ | | $10 \sim 11$ | ^ | $10^5$ | ^ | $r - l \leq 10$,只有事件 $1, 4, 5$ | | $12 \sim 14$ | ^ | ^ | ^ | $r - l \leq 10$ | | $15 \sim 17$ | ^| ^ | ^ | 无 | | $18 \sim 20$ | $10^9$ | ^ | ^ | ^ | 对于所有的数据,满足 $1 \leq n \leq 10^9$,$1 \leq m$,$q \leq 10^5$,$1 \leq l \leq r \leq n$,$1 \leq x, y \leq m$,$0 \leq w \leq m$。保证事件 2 中 $x \neq w$,事件 3 中 $x \neq y$。