#P4476. Bribes

Bribes

题目描述

给一张包含 NN 个结点的树。

在树上,对于有些边 (a,b)(a,b)aba→bbab→a 都无需花费,我们称这种边为无向边;对于另一些边,aba→b 无需花费,而 bab→a 需要花费,且第 ii 次从 bbaa 时花费为 2i12^{i-1},我们将这种边称为有向边。

给你一个长度为 KK 的数列 s1,s2,,sKs_1, s_2,\dots, s_K,你要从结点 s1s_1 前往 s2s_2,再从 s2s_2 去往 s3s_3……一直到 sKs_K

试求最小的花费 mod(109+7)\bmod (10^9+7)

输入格式

第一行,一个整数 NN

接下来的 N1N-1 行,每行三个整数 a,b,xa,b,x

  • 如果 x=0x=0,边 (a,b)(a,b) 为无向边;
  • 如果 x=1x=1,边 (a,b)(a,b) 为有向边。

N+1N+1 行,一个整数 KK
下一行,KK 个整数 s1,s2,,sKs_1, s_2, \dots, s_K

1N1051\le N\le 10^{5}1K1061\le K\le 10^{6}1a,bN1\le a,b\le N1siN1\le s_{i}\le N

输出格式

一个整数表示答案。

5
1 2 0
2 3 0
5 1 1
3 4 1
5
5 4 5 2 2
4

151 → 5,路径上总花费为 11
512345 → 1 → 2 → 3 → 4,路径上无花费。
432154 → 3 → 2 → 1 → 5,路径上总花费为 33
5125 → 1 → 2,路径上无花费。