#P4255. 公主の#18文明游戏

    ID: 2957 Type: RemoteJudge 1300ms 125MiB Tried: 0 Accepted: 0 Difficulty: 5 Uploaded By: Tags>并查集O2优化素数判断,质数,筛法逆元

公主の#18文明游戏

题目背景

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

题目描述

这个游戏叫做《文♂明》(滑稽),但是跟平常意义上的不一样。

这个游戏里有 nn 个城市,标号 1n1 \sim n ,有 mm 条双向道路相连,编号 1m1 \sim m

游戏里会系统会添加 NiN_i 个人到一个城市 XiX_i,并给定这些人的信仰 CiC_i

系统还会切断一条道路,并给定道路编号 XiX_i

系统还会给定一个城市 XiX_i,询问从 XiX_i 出发可以到达的所有城市中选择 NiN_i 个人,使得他们信仰都为 CiC_i 的概率为多少,对 1926081719260817 取模。

输入数据不保证没有重边和自环。

输入数据不保证同一条边不会被切断两次以上。

因为是公主的游戏,所以本题输入量较大,请注意输入的优化。

输入格式

第一行三个正整数 nn, mm, qq

接下来 nn 行,每行两个正整数 NiN_i, CiC_i,分别代表第 ii 个城市初始人数和信仰。

接下来 mm 行,每行两个正整数 XiX_iYiY_i,分别代表这条道路的起点和终点。

接下来 qq 行,每行第一个正整数 optopt (1opt3)(1 \leq opt \leq 3)

opt=1opt=1 时,表示系统添加人类,输入三个整数 XiX_i, NiN_i, CiC_i

opt=2opt=2 时,表示系统切断道路,输入一个整数 XiX_i

opt=3opt=3 时,表示系统询问概率,输入三个整数 XiX_i, NiN_i, CiC_i

输出格式

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

5 5 5
5 1
9 2
8 1
8 1
6 2
5 2
1 2
2 2
1 1
5 3
1 1 3 2
2 1
3 3 4 1
3 2 3 1
3 1 2 1

9293681
15578602
849742

提示

吐槽某人居然没告诉我 我没放样例

补发样例(其实我本来有样例来着)

在这里跟大家道歉

对于30%的数据,1n,m,q1001 \leq n,m,q \leq 100

对于60%的数据,1n,m,q500001 \leq n,m,q \leq 50000

对于100%的数据,1n,m,q4000001 \leq n,m,q \leq400000

对于100%的数据,保证所有信仰在 C++ 的 int,Pascal 的 long int 范围内

对于 100%100\% 的数据,保证每次添加的人数和初始人数都不超过 1010

对于 100%100\% 的数据,保证数据随机生成

题目 @玫葵之蝶