P4255 公主の#18文明游戏

题目背景

公主发现了一个游戏,998,于是我就花钱给她买下来了(捂脸)

题目描述

这个游戏叫做《文♂明》(滑稽),但是跟平常意义上的不一样。 这个游戏里有 $n$ 个城市,标号 $1 \sim n$ ,有 $m$ 条双向道路相连,编号 $1 \sim m$。 游戏里会系统会添加 $N_i$ 个人到一个城市 $X_i$,并给定这些人的信仰 $C_i$。 系统还会切断一条道路,并给定道路编号 $X_i$。 系统还会给定一个城市 $X_i$,询问从 $X_i$ 出发可以到达的所有城市中选择 $N_i$ 个人,使得他们信仰都为 $C_i$ 的概率为多少,对 $19260817$ 取模。 输入数据不保证没有重边和自环。 输入数据不保证同一条边不会被切断两次以上。 因为是公主的游戏,所以本题输入量较大,请注意输入的优化。

输入格式

第一行三个正整数 $n$, $m$, $q$。 接下来 $n$ 行,每行两个正整数 $N_i$, $C_i$,分别代表第 $i$ 个城市初始人数和信仰。 接下来 $m$ 行,每行两个正整数 $X_i$, $Y_i$,分别代表这条道路的起点和终点。 接下来 $q$ 行,每行第一个正整数 $opt$ $(1 \leq opt \leq 3)$。 当 $opt=1$ 时,表示系统添加人类,输入三个整数 $X_i$, $N_i$, $C_i$。 当 $opt=2$ 时,表示系统切断道路,输入一个整数 $X_i$。 当 $opt=3$ 时,表示系统询问概率,输入三个整数 $X_i$, $N_i$, $C_i$。

输出格式

对于每一个 $opt=3$ 的操作,输出一行一个整数。

说明/提示

吐槽某人居然没告诉我 我没放样例 补发样例(其实我本来有样例来着) 在这里跟大家道歉 对于30%的数据,$1 \leq n,m,q \leq 100$ 对于60%的数据,$1 \leq n,m,q \leq 50000$ 对于100%的数据,$1 \leq n,m,q \leq400000$ 对于100%的数据,保证所有信仰在 C++ 的 int,Pascal 的 long int 范围内 对于 $100\%$ 的数据,保证每次添加的人数和初始人数都不超过 $10$ 对于 $100\%$ 的数据,保证数据随机生成 题目 @玫葵之蝶