#P15426. Time to Heal

    ID: 14893 远端评测题 3000ms 1000MiB 尝试: 0 已通过: 0 难度: 9 上传者: 标签>动态规划 DP图论贪心倍增二分Kruskal 重构树O2优化双连通分量最近公共祖先 LCA树论ST 表圆方树笛卡尔树

Time to Heal

说明

本题总时限较大,请勿卡评测。我们推荐您在提交本题前先通过本题的 2020 个样例。具体见【说明/提示】。


我们定义长度为 ll 的序列 {al}\{a_l\} 是一个路径当且仅当:

  • 1i<l\forall 1\le i<l,编号为 aia_i 与编号为 ai+1a_{i+1} 的点在图上有边直接相连

我们认为它的起点是 a1a_1,终点是 ala_l

我们定义一个无序路径对 ({ap},{bq})(\{a_p\},\{b_q\}) 的一个 kk-TS 为:

  • 它是一个 ({ap},{bq})(\{a_p\},\{b_q\}) 的长度为 kk 的公共子序列。
  • 它不是任何一个 ({ap},{bq})(\{a_p\},\{b_q\}) 的公共子序列的子序列。

两个子序列 a,ba,b 不同,当且仅当这两个子序列长度不同,或存在一个 ii 使得 aibia_i\ne b_i

显然,一个路径对可能有多个 kk-TS。


给定一个 nn 个点 mm 条边的简单无向图,不保证连通,你需要解决 qq 次询问:

  • 给出三个整数 S,T,kS,T,k,保证 STS\ne T。你需要求出:对于这对 S,TS,T,所有起点为 SS,终点为 TT 的路径任意两两组合(可以组合完全相同的两条路径)产生的所有无序路径对,所产生的所有 kk-TS 中字典序最小的。无解输出 1-1

你只需输出答案 kk-TS 的所有项的和。

输入格式

第一行两个整数 cc,表示测试点所在子任务编号。对于样例均有 c=0c=0

第二行两个整数 n,mn,m。分别表示无向图的点数、边数。

接下来 mm 行每行两个整数 u,vu,v 描述无向边。保证输入的是一张简单无向图,注意图不一定连通

接下来一行一个整数 qq

之后 qq 行,每行三个整数 S,T,kS,T,k 表示一个询问。

输出格式

对于每个询问,输出 1-1 表示不存在可能的 kk-TS,否则输出最小字典序的 kk-TS 的所有项的和。

0
10 7
7 5
10 2
10 7
9 10
9 7
5 1
4 10
5
8 2 3
10 5 7
4 9 7
5 10 6
9 7 8
-1
46
47
33
40

0
10 18
2 8
2 9
5 2
9 3
9 1
1 4
8 9
4 2
4 9
9 6
7 5
4 7
8 1
9 5
3 4
3 5
8 5
10 8
10
9 6 5
10 6 1
2 1 5
3 6 5
9 7 7
9 5 2
4 2 7
9 3 1
2 9 1
10 7 3

26
-1
6
20
21
14
11
-1
-1
25

0
10 13
5 4
3 8
2 7
7 10
10 5
6 8
1 6
2 8
9 10
4 9
2 3
3 7
5 6
10
3 10 4
7 9 4
3 2 3
3 4 1
1 8 1
6 2 2
8 2 3
1 2 4
7 5 2
4 9 1

17
20
7
-1
-1
8
12
11
12
-1

见附件中的 ttheal_samples.zip
见附件中的 ttheal_samples.zip

提示

样例 #1 解释

对于第一组询问,不存在任何路径 {ap}\{a_p\} 使得 a1=8,ap=2a_1=8,a_p=2,因此也不存在满足条件的 33-TS。

对于第二组询问,取两条路径 {a7}={b7}=[10,2,10,2,10,7,5]\{a_7\}=\{b_7\}=[10,2,10,2,10,7,5] 时,它们唯一的 77-TS [10,2,10,2,10,7,5][10,2,10,2,10,7,5] 的所有项之和 4646 即为答案。可以证明,这是所有满足 a1=10,ap=5a_1=10,a_p=5 的路径任意两两组合产生所有的 77-TS 中字典序最小的。

对于第四组询问,取路径 {a7}=[5,1,5,1,5,7,10],{b7}=[5,1,5,7,5,7,10]\{a_7\}=[5,1,5,1,5,7,10],\{b_7\}=[5,1,5,7,5,7,10],则它们的公共子序列 [5,1,5,5,7,10][5,1,5,5,7,10] 显然是一个 66-TS。可以证明,这是所有满足 a1=5,ap=10a_1=5,a_p=10 的路径 {ap}\{a_p\} 任意两两组合产生的所有路径对产生的 66-TS 中字典序最小的。所以它的所有项之和 3333 是答案。

对于第五组询问,答案 88-TS 为 [9,7,5,1,5,1,5,7][9,7,5,1,5,1,5,7]。请注意我们允许路径 {ap}\{a_p\} 中存在 ipi\ne p 使得 ai=apa_i=a_p

样例 #4 至 #20 解释

为了方便你的调试,我们在本题的附件中提供了本题的完整样例文件,共有 2020 个,其中前三个(样例 #1 至 #3)与题面中提供的相同。

为避免卡评测并方便你的调试,你可以在这里测试本题的 2020 个样例而不在本题的完整数据上测试,比赛邀请码为 bd8m。该比赛中样例测试题目的题目描述中包括了每个样例的具体范围。

这些样例,无疑是善良的出题人无私的馈赠。出题人相信,这些美妙的样例,可以给拼搏于 AC 这道题的逐梦之路上的你,提供一个有力的援助。

数据范围

对于 100%100\% 的数据,2n5×1052\le n\le 5\times 10^50m5×1050\le m\le 5\times 10^51q2×1051\le q\le2\times 10^51k1091\le k\le 10^91S,Tn1\le S,T\le n。特别地,STS\ne T。保证输入的是一个简单无向图。

::cute-table{tuack} | 子任务 | n,m,qn,m,q\le | kk\le | 特殊性质 | 得分 | 子任务依赖 | | :----------: | :----------: | :----------: | :----------: | :----------: | :----------: | | 0 | 无特殊限制 | 10910^9 | 本题下发文件中的 2020 个样例 | 00 | 无 | | 1 | 44 | 66 | 无 | 55 | 无 | | 2 | 88 | 77 | 无 | 1010 | 1 | | 3 | 300300 | 300300 | 无 | 1010 | 1, 2 | | 4 | 3×1033\times 10^3 | 3×1033\times 10^3 | 无 | 1515 | 1, 2, 3 | | 5 | 2×1052\times 10^5 | 10910^9 | k2nk\ge 2n | 1515 | 无 | | 6 | 2×1052\times 10^5 | 10910^9 | 保证图是一个森林 | 1515 | 无 | | 7 | 2×1052\times 10^5 | 10910^9 | 图中没有度数小于 22 的点 | 1515 | 无 | | 8 | 2×1052\times 10^5 | 10910^9 | 无 | 1010 | 1 至 7| | 9 | 无特殊限制 | 10910^9 | 无 | 55 | 0 至 8 |

后记

我们所相信的,是答案要等到最后,是陪伴能打败诅咒,是懂得承担才是最大的成就。