#P2485. 「LOJ」 字母树

「LOJ」 字母树

题目描述

给定一颗 nn 个节点的无根树,每条边上附有一个小写英文字母。

于是一条路径对应一个字符串。

一共有 qq 次询问,每次询问以节点 uu 为起点的非空字符串中有多少字典序严格小于字符串 u⇝vu \leadsto v 。

输入格式

第一行,两个个整数 n,qn, q。

接下来 n−1n - 1 行,每行两个整数,一个小写字母。 u,v,cu, v, c。 表示存在字母为 cc 的树边 (u,v)(u, v)。保证 u≠vu \neq v。

接下来 qq 行,每行两个整数 u,vu, v。

输出格式

qq 行,每行一个答案。

样例 1

4 3
4 1 t
3 2 p
1 2 s
3 2
1 3
2 1
0
1
1

第一个询问,以 33 为起点的字符串有p,ps,pst。3⇝23\leadsto 2 生成p。没有比p字典序严格小的字符串。

第二个询问,以 11 为起点的字符串有s,sp,t。1⇝31\leadsto 3 生成sp。s字典序比sp小。

第二个询问,以 22 为起点的字符串有p,s,st。2⇝12\leadsto 1 生成s。p字典序比s小。

8 4
4 6 p
3 7 o
7 8 p
4 5 d
1 3 o
4 3 p
3 2 e
8 6
3 7
8 1
4 3
6
1
3
1

数据范围与提示

n≤4000,q≤500000n\le 4000, q \le 500000