P10301 [THUWC 2020] Yazid 的棋
题目描述
给定一张包含 $n$ 个点、$m$ 条边的有向图,点标号从 $1$ 至 $n$,边标号从 $1$ 至 $m$。
这张图的主人 Yazid 将先后执行 $Q$ 次操作,每个操作的形式为:在一个节点 $x$ 放置一个棋子,并设定一个整数 $s$,同时该棋子不停地沿着**编号最小**的出边移动,其中当第 $i$ 条边被经过 $w_i$ 次后就会立刻从图中被删除。棋子会不停移动直到**无出边可走**或**棋子已移动了 $s$ 步**。对于最终棋子停留的节点,我们把它叫做这次操作的**终点**。做完这些后,Yazid 会将该棋子移出游戏。
你需要预测 Yazid 每次操作的终点编号。
需要注意的是,所有操作都是有后效性的。也就是说,在前 $Q-1$ 步操作时**消失的边**、**经过的次数**都**不会**在第 $Q$ 次操作时被重置,即下一步操作在上一步操作基础上进行。
输入格式
第一行两个用空格隔开的整数 $n,m$。
接下来 $m$ 行描述有向图。这部分中第 $i$ 行($1\leq i\leq m$)包含三个用空格隔开的整数 $u_i,v_i,w_i$,描述一条 $u_i$ 到 $v_i$ 的经过 $w_i$ 次会被删除的有向边。
* 这里保证 $1\leq u_i,v_i\leq n$,$w_i\leq 10^{18}$。
接下来一行一个整数 $Q$。
接下来 $Q$ 行依次描述各操作,每行两个用空格隔开的整数 $x,s$,描述一个操作。
* 这里保证 $1\leq x\leq n$,$1\leq s\leq 10^{9}$。
输出格式
输出 $Q$ 行,每行一个整数,依次输出各操作的终点。其中第 $i$ 行输出的是第 $i$ 个操作的终点。
说明/提示
**【样例解释 #1】**
第一次操作,棋子的移动步骤如下:
1. 在 $7$ 号节点放置一个棋子。
2. $7$ 号节点编号最小的出边是第 $7$ 条边,棋子通过该边移动到 $5$ 号节点。
3. $5$ 号节点编号最小的出边是第 $5$ 条边,棋子通过该边移动到 $2$ 号节点。
4. $2$ 号节点编号最小的出边是第 $3$ 条边,棋子通过该边移动到 $3$ 号节点。
5. $3$ 号节点编号最小的出边是第 $1$ 条边,棋子通过该边移动到 $1$ 号节点。
6. $1$ 号节点编号最小的出边是第 $2$ 条边,棋子通过该边移动到 $2$ 号节点。
7. $2$ 号节点编号最小的出边是第 $3$ 条边,棋子通过该边移动到 $3$ 号节点。此时,第 $3$ 条边已被经过了 $2$ 次,被从图中删去。
8. $3$ 号节点编号最小的出边是第 $1$ 条边,棋子通过该边移动到 $1$ 号节点。
9. 棋子停留在 $1$ 号节点,故 $1$ 号节点就是此次操作的终点。
第二次操作,棋子的移动步骤如下:
1. 在 $6$ 号节点放置一个棋子。
2. $6$ 号节点编号最小的出边是第 $4$ 条边,棋子通过该边移动到 $3$ 号节点。此时,第 $4$ 条边已被经过了 $1$ 次,被从图中删去。
3. $3$ 号节点编号最小的出边是第 $1$ 条边,棋子通过该边移动到 $1$ 号节点。此时,第 $1$ 条边已被经过了 $1$ 次,被从图中删去。
4. 棋子已移动了 $7$ 步,故停留在 $1$ 号节点,$1$ 号节点是此次操作的终点。
第三次操作,棋子的移动步骤如下:
1. 在 $6$ 号节点放置一个棋子。
2. $6$ 号节点已没有出边,故棋子只能停留在 $6$ 号节点,故 $6$ 号节点是此次操作的终点。
**【子任务】**
本题有多个子任务,每个子任务可能包含多个测试点,只有通过了一个子任务中的所有测试点才能得到该子任务的分数。
每个子任务的测试点满足一些特殊的限制,具体如下表:
|子任务编号|$n \le$|$m \le$|$Q \le$|$s \le$|$w \le$|性质|分值|
|----|----|----|----|----|----|----|----|
|1|$10^5$|$1.5 \times 10^5$|$5000$|$5000$|$10^{18}$|$0$|8|
|2|$10^5$|$1.5 \times 10^5$|$5000$|$10^9$|$5000$|$0$|8|
|3|$10^5$|$1.5 \times 10^5$|$10^5$|$10^9$|$10^{18}$|$1$|8|
|4|$10^5$|$1.5 \times 10^5$|$10^5$|$10^9$|$10^{18}$|$2$|$12$|
|5|$10^5$|$n - 1$|$10^5$|$10^9$|$10^{18}$|$3$|13|
|6|$10^5$|$n$|$10^5$|$10^9$|$10^{18}$|$4$|15|
|7|$10^5$|$n + 50$|$10^5$|$10^9$|$10^{18}$|$5$|8|
|8|$10^5$|$1.5 \times 10^5$|$10^5$|$10^9$|$10^{18}$|$0$|28|
对于所有测试点,保证 $1 \leq n\leq 10^5$,$1 \leq m\leq 1.5\times 10^5$,$1 \leq Q \leq 10^5$,$1 \leq s \leq 10^9$,$1 \leq w_i \leq 10^{18}$。
- 性质 0:无特殊性质;
- 性质 1:图为随机生成,每条边 $(u, v)$ 出现的概率为 $1 / n^2$;
- 性质 2:保证 $w_i = 10^{18}$;
- 性质 3:保证图构成了一棵有根树。
- 性质 4:保证图构成了一棵环套树。
- 性质 5:保证前 $n$ 条边构成了一棵环套树。