#P1028. Problem 3. Infinite Adventure

Problem 3. Infinite Adventure

当前没有测试数据。

一、题目名称

无限冒险(Infinite Adventure)

二、题目描述

贝西(Bessie)计划在一个有NN1N1051\leq N\leq10^5)个城市的地方进行一场无限冒险。在每个城市ii中,有一个传送门以及一个循环时间TiT_i。所有的TiT_i都是22的幂次方,并且T1++TN105T_1+\cdots+T_N\leq10^5。如果你在第tt天进入城市ii的传送门,那么你会立即从城市ci,tmodTic_{i,t\bmod T_i}的传送门出来。

贝西为她的旅行制定了QQ1Q51041\leq Q\leq5\cdot10^4)个计划,每个计划由一个三元组(v,t,Δ)(v,t,\Delta)组成。在每个计划中,她将在第tt天从城市vv开始。然后她将进行Δ\Delta次以下操作:她将跟随当前城市的传送门,然后等待一天。对于她的每个计划,她想知道她最终会在哪个城市。

三、输入格式(从终端/标准输入读取)

  1. 第一行包含两个用空格分隔的整数:NN(节点数量)和QQ(查询数量)。
  2. 第二行包含NN个用空格分隔的整数:T1,T2,,TNT_1,T_2,\cdots,T_N1Ti1\leq T_iTiT_i22的幂次方,且T1++TN105T_1+\cdots+T_N\leq10^5)。
  3. 对于i=1,2,,Ni = 1,2,\cdots,N,第i+2i + 2行包含TiT_i个用空格分隔的正整数,即ci,0,,ci,Ti1c_{i,0},\cdots,c_{i,T_i - 1}1ci,tN1\leq c_{i,t}\leq N)。
  4. 对于j=1,2,,Qj = 1,2,\cdots,Q,第j+N+2j + N + 2行包含三个用空格分隔的正整数,vj,tj,Δjv_j,t_j,\Delta_j1vjN1\leq v_j\leq N1tj10181\leq t_j\leq10^{18}1Δj10181\leq\Delta_j\leq10^{18}),代表第jj个查询。

四、输出格式(打印输出到终端/标准输出)

输出QQ行。第jj行必须包含第jj个查询的答案。

五、样例输入及输出

样例输入1

5 4
1 2 1 2 8
2
3 4
4
2 3
5 5 5 5 5 1 5 5
2 4 3
3 3 6
5 3 2
5 3 7

样例输出1

2
2
5
4

解释:贝西的前三次冒险过程如下:

  • 在第一次冒险中,她在时间44从城市22到城市33(时间55),再到城市44(时间66),最后到城市22(时间77)。
  • 在第二次冒险中,她在时间33从城市33到城市44(时间44),再到城市22(时间55),接着到城市44(时间66),然后到城市22(时间77),再到城市44(时间88),最后到城市22(时间99)。
  • 在第三次冒险中,她在时间33从城市55到城市55(时间44),再到城市55(时间55)。

样例输入2

5 5
1 2 1 2 8
2
3 4
4
2 3
5 5 5 5 5 1 5 5
2 4 3
3 2 6
5 3 2
5 3 7
5 3 1000000000000000000

样例输出2

2
3
5
4
2

六、评分规则

  1. 输入3:Δj2102\Delta_j\leq2\cdot10^2
  2. 输入4 - 5:N,Tj2103N,\sum T_j\leq2\cdot10^3
  3. 输入6 - 8:N,Tj104N,\sum T_j\leq10^4
  4. 输入9 - 18:无其他额外约束。

题目来源:Brandon Wang。