luogu#P10198. [USACO24FEB] Infinite Adventure P

[USACO24FEB] Infinite Adventure P

题目背景

注意:本题的内存限制为 512MB,通常限制的 2 倍。

题目描述

Bessie 正在计划一次在 NN1N1051\le N\le 10^5)个城市的大陆上的无尽冒险。每个城市 ii 都有一个传送门以及循环周期 TiT_i。所有 TiT_i 均为 22 的幂,且 T1++TN105T_1+\cdots+T_N\le 10^5。如果你在日期 tt 进入城市 ii 的传送门,那么你会立即从城市 ci,tmodTic_{i,t\bmod T_i} 的传送门出来。

Bessie 的旅行有 QQ1Q51041\le Q\le 5\cdot 10^4)个计划,每个计划由一个元组 (v,t,Δ)(v,t,\Delta) 组成。在每个计划中,她将于日期 tt 从城市 vv 出发。然后,她将执行以下操作 Δ\Delta 次:她将进入当前城市的传送门,然后等待一天。对于她的每一个计划,她想要知道她最终会在哪个城市。

输入格式

输入的第一行包含两个空格分隔的整数:结点的数量 NN,以及询问的数量 QQ

第二行包含 NN 个空格分隔的整数:T1,T2,,TNT_1,T_2,\ldots,T_N1Ti1\le T_iTiT_i22 的幂,且 T1++TN105T_1+\cdots+T_N\le 10^5)。

对于 i=1,2,,Ni=1,2,\ldots,N,第 i+2i+2 行包含 TiT_i 个空格分隔的正整数,为 ci,0,,ci,Ti1c_{i,0},\ldots,c_{i,T_{i−1}}1ci,tN1\le c_i,t\le N)。

对于 j=1,2,,Qj=1,2,…,Q,第 j+N+2j+N+2 行包含三个空格分隔的正整数 vj,tj,Δjv_j,t_j,\Delta_j1vjN1\le v_j\le N1tj10181\le t_j\le 10^{18},且 1Δj10181\le \Delta_j\le 10^{18}),表示第 jj 个询问。

输出格式

输出 QQ 行。第 jj 行包含第 jj 个询问的答案。

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
2
2
5
4
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
3
5
4
2

提示

样例解释 1

Bessie 的前三次冒险会如下进行:

  • 在第一次冒险中,她于时刻 44 从城市 22 出发,于时刻 55 到达城市 33,于时刻 66 到达城市 44,于时刻 77 到达城市 22
  • 在第二次冒险中,她于时刻 33 从城市 33 出发,于时刻 44 到达城市 44,于时刻 55 到达城市 22,于时刻 66 到达城市 44,于时刻 77 到达城市 22,于时刻 88 到达城市 44,于时刻 99 到达城市 22
  • 在第三次冒险中,她于时刻 33 从城市 55 出发,于时刻 44 到达城市 55,于时刻 55 到达城市 55

测试点性质

  • 测试点 33Δj2102\Delta_j\le 2\cdot 10^2
  • 测试点 454-5N,Tj2103N,\sum T_j\le 2\cdot 10^3
  • 测试点 686-8N,Tj104N,\sum T_j\le 10^4
  • 测试点 9189-18:没有额外限制。