Toggle navigation
HUSTOJ
F.A.Qs
ProblemSet
Source/Category
Status
Ranklist
Contest
Login
Problem3171--字符串树 [strings](day1-3)
3171: 字符串树 [strings](day1-3)
Time Limit:
1
Sec
Memory Limit:
128 MB
Submit:
0
Solved:
0
[
Status
] [
Submit
] [Creator:
]
Description
【故事背景】
萌萌买了一颗字符串树的种子,春天种下去以后夏天就能长出一棵很大的字符串树。字符串树很奇特,树枝上都密密麻麻写满了字符串,看上去很复杂的样子。
【问题描述】
字符串树本质上还是一棵树,即n个节点n-1条边的连通无向无环图,节点从1到n编号。与普通的树不同的是,树上的每条边都对应了一个字符串。萌萌和 JYY 在树下玩的时候,萌萌决定考一考 JYY。每次萌萌都写出一个字符串s和两个节点u,v,需要 JYY 立即回答u和v之间的最短路径(即u,v之间边数最少的路径。由于给定的是一棵树,这样的路径是唯一的)上有多少个字符串以s为
前缀
。
JYY 虽然精通编程,但对字符串处理却不在行。所以他请你帮他解决萌萌的难题。
Input
输入第一行包含一个整数n,代表字符串树的节点数量。
接下来n-1行,每行先是两个数u,v,然后是一个字符串s,表示节点u和节点v之间有一条直接相连的边,这条边上的字符串是s。输入数据保证给出的是一棵合法的树。
接下来一行包含一个整数Q,表示萌萌的问题数。
接来下Q行,每行先是两个数u,v,然后是一个字符串s,表示萌萌的一个问题是节点u和节点v之间的最短路径上有多少字符串以s为前缀。
输入中所有字符串只包含 a-z的小写字母。
Output
输出Q行,每行对应萌萌的一个问题的答案。
Sample Input
Copy
4 1 2 ab 2 4 ac 1 3 bc 3 1 4 a 3 4 b 3 2 ab
Sample Output
Copy
2 1 1
HINT
【数据规模】
对于20%的数据满足:1 ≤ n,Q ≤ 2,000;
对于40%的数据满足:1 ≤ n,Q ≤ 30,000;
对于60%的数据满足:1 ≤ n,Q ≤ 60,000;
对于100%的数据满足:1 ≤ n,Q≤ 100,000,且输入所有字符串长度不超过10。
Source/Category
线段树
AHOI高中
2015
level7