loj#P508. 「LibreOJ NOI Round #1」失控的未来交通工具
「LibreOJ NOI Round #1」失控的未来交通工具
题目描述
最近,神犇在未来交通工具展览会上购买了一辆「 循环车」。这种交通工具的特点是:车门每行驶 米才能开启一次。
展会结束后他准备回家,然而插入钥匙后,车内的一切突然扭曲了起来 …… 接着他发现自己到了一个奇怪的地方。这时空中传来一个声音:
哈哈哈 …… 我请你们来这里,就是为了考验一下你们的水平。这个世界是一张无向图,有 个点,暂时还没有边。等一会我把边加上之后,每条边会有一个长度,第 条边长 米。
你们的车一旦驶上一条边,就必须开到这条边的尽头,中途没有回转的余地。现在你们将要接受 次考验。考验有两种:
- 告诉你们三个整数 表示我在 和 之间加了一条长 米的边;
- 告诉你们五个整数 ,其中 描述了一个伪随机数生成器,它第一次的返回值 ,以后每次的返回值 。你们要回答,对于 ,有多少个 满足:如果你的车离最近一次能够开门的机会还有 米,那么存在一条路径使你能从 出发到 下车。
除非你们的回答全部正确且快速,否则我是不会放你们离开这里的 …… 哈哈哈 ……
按照套路,神犇自然是一眼秒掉了这个问题。不过为了不让黑恶势力白白出场,他想请你也解决一下这个问题。
简略题意:一个带边权无向图,有两种操作:加边以及询问在 这些数中,有多少存在一条与之模 同余的从 到 的路径(可以不是简单路径)。
输入格式
第一行三个整数 。
接下来 行,每行描述一次考验,内容如下:
- 表示 和 之间加了一条长 米的边;
- 表示询问对于 ,有多少个 满足:如果你的车离最近一次能够开门的机会还有 米,那么存在一条路径使你能从 出发到 下车。
输出格式
对于每个第二种考验,输出一行一个整数表示答案。
6 6 10
1 1 2 3
2 1 2 0 0 1
1 2 3 3
1 1 3 3
2 1 2 0 0 1
1 4 5 6
1 5 6 4
2 4 6 2 0 1
1 3 4 6
2 1 6 0 1 6
0
1
1
6
数据范围与提示
对于 的数据,$1\leq n,q\leq 10^6,1< m\leq 10^9,1\leq w\leq m,0\leq x,b< m,1\leq c\leq 10^9$。操作 2 中保证 。
当车离最近一次能够开门的机会还有 米时,「存在一条路径使你能从 出发到 下车」的意思是 和 之间存在一条路径(可以不是简单路径)长度模 为 。
注意,路径可以不是简单路径。
出题人的关怀:由于输入规模较大,建议使用读入优化;请相信 LibreOJ 测评机的速度。
Subtask # | 分值 | 的限制 | 的限制 | 的限制 | 附加限制 |
---|---|---|---|---|---|
1 | 无 | ||||
2 | |||||
3 | 是质数 | ||||
4 | 是奇数 | 图中任何时刻都不会出现简单环 | |||
5 | 无 | ||||
6 | 无 | 图中任何时刻不会有度数大于 的点 | |||
7 | 无 | ||||
8 | 无 |