编程介的小学生 2019-08-25 21:53 采纳率: 20.5%
浏览 131

数据结构用C语言,Another Letter Tree

Problem Description
A letter tree is given on this page (HDOJ 4601).

Another letter tree of N nodes is now given, where each node is assigned to a lowercase letter. When making a tour from a node to another, one should always follow the shortest path between them. That is, no nodes should be visited twice during his tour.

After one travels along a path, he will obtain a Path String formed by the letters assigned to nodes that he just moves past. The string exactly records all nodes in the order he visits.

Now we’re faced with the problem. Initially we have a string S0 and totally Q queries each in a shape of (u, v). For each query, we make a tour from u to v and obtain a Path String Suv , and your task is to calculate how many times that S0 occurs as a subsequence of Suv . For example, “ab” occurs 3 times in “abab” as a subsequence.

A subsequence is a sequence that can be derived from another sequence by deleting some elements without changing the order of the remaining elements. For instance, “abc” and “ec” are both subsequence of “adebc”, while “ba” and “ed” are not.

The answer might be large, and thus you’re only required to output it modulo 10007.

Input
The input consists of several test cases. The number of test cases T (T<=5) occurs in the first line of input.

For each test case:
The first line consists of two integers N and Q(1<=N, Q<=50000), denoting the number of nodes and queries, respectively.
Each of the following N - 1 lines contains a pair of integers u, v(1<=u, v<=N ), denoting an edge between node u and v.
The following line contains a string of N lowercase letters, where the ith denotes the letter represented by the ith node.
The following line contains S0(1<=|S0|<=30).
The following Q lines describe all queries, each of which describes the start node u and destination node v.

Output
For each query, output the required answer modulo 10007 in a line.

Sample Input
2
6 3
1 2
1 3
2 4
2 5
3 6
abbaaa ab
4 5
4 6
2 1
6 3
1 2
1 3
2 4
2 5
3 6
abbaaa aba
4 5
4 6
2 1

Sample Output
1
3
0
1
4
0

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 如何在scanpy上做差异基因和通路富集?
    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog