#2483. 3488. [ONTAK2010]Highways
3488. [ONTAK2010]Highways
#3488. [ONTAK2010]Highways
题目描述
Byteland is a small country, with cities connected by N-1 bidirectional roads.
From each city there is just one way of reaching every other city using the
road network, which causes severe traffic jams. For this reason several
highways have been built; each highway connects some pair of cities.
By a route we mean a sequence of roads and/or highways. All cities on a route
should be distinct. For each pair of cities x,y there exists exactly one route
which does not use any highway; we call such a route the main route between x
and y .
People going from a city x to a city y can either choose the main route or use
some highway. In the latter case the route cannot intersect the main route
except for the cities x and y and must contain exactly one highway.
Your task is to calculate the number of routes people can take between given
pairs of cities.
给一棵n个点的树以及m条额外的双向边
q次询问,统计满足以下条件的u到v的路径:
恰经过一条额外的边
不经过树上u到v的路径上的边
输入格式
The first line of input contains a single integer N(1<=N<=100000) - the number
of cities in Byteland. Cities are numbered from 1 to n . Each of the next N -1
lines contains two integers Ai, Bi(1<=Ai,Bi<=N) meaning that cities Ai and
Biare connected by a road.
The next line contains an integer M(1<=M<=100000) - the number of highways.
Each of the next m lines contains a description of a single highway. The next
line contains an integer Q (1<=Q<=500000) - the number of queries. Each of the
next Q lines contains a description of a query. Both highways and queries are
given in the same format as the roads.
输出格式
Your program should output exactly Q lines. The i-th line should contain the number of routes in the i-th query.
样例
样例输入
9
1 2
2 3
4 2
1 5
5 6
7 5
7 8
9 7
4
2 5
3 4
6 4
8 3
4
4 9
2 5
1 6
1 7
样例输出
1
4
2
2