#1103. [POI2007]大都市meg

[POI2007]大都市meg

题目描述

在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员 Blue Mary 也开始骑着摩托车传递邮件了。 不过,她经常回忆起以前在乡间漫步的情景。

昔日,乡下有依次编号为 1n1\dots nnn 个小村庄,某些村庄之间有一些双向的土路。从每个村庄都恰好有一条路径到达村庄 11(即比特堡)。

并且,对于每个村庄,它到比特堡的路径恰好只经过编号比它的编号小的村庄。另外,对于所有道路而言,它们都不在除村庄以外的其他地点相遇。在这个未开化的地方,从来没有过高架桥和地下铁道。随着时间的推移,越来越多的土路被改造成了公路。至今,Blue Mary 还清晰地记得最后一条土路被改造为公路的情景。现在,这里已经没有土路了——所有的路都成为了公路,而昔日的村庄已经变成了一个大都市。Blue Mary 想起了在改造期间她送信的经历。她从比特堡出发,需要去某个村庄,并且在两次送信经历的间隔期间,有某些土路被改造成了公路。

现在 Blue Mary 需要你的帮助:计算出每次送信她需要走过的土路数目。(对于公路,她可以骑摩托车;而对于土路,她就只好推车了)

输入格式

第一行是一个数 nn (1n250,000)(1 \leq n \leq 250,000)

接下来 n1n-1 行,每行两个整数 a,ba,b (1a,bn)(1\leq a,b\leq n),表示在改造前一条土路连接着 a,ba,b 村庄。

接下来一行包含一个整数 mm(1m250,000)(1 \leq m \leq 250,000),表示 Blue Mary 曾经在改造期间送过 mm 次信。

接下来 n+m1n+m-1行,每行有两种格式的若干信息,表示按时间先后发生过的 n+m1n+m-1 次事件:

首先输入一个字符 optopt 代表事件的种类。

  • optoptA,则接着输入两个数 x,yx,y (1x,yn)(1\leq x,y\leq n) 表示 x,yx,y 之间的土路被改造成公路(保证没有重复情况)。

  • optoptW,则接着输入一个数 aa,表示 Blue Mary 曾经从比特堡送信到村庄 aa

输出格式

输出共 mm 行,每行包含一个整数,表示对应的某次送信时经过的土路数目。

5
1 2
1 3
1 4
4 5
4
W 5
A 1 4
W 5
A 4 5
W 5
W 2
A 1 2
A 1 3
2
1
0
1

数据规模与约定

对于 70%70\% 的数据点:1n,m501 \leq n,m \leq 50

对于 100%100\% 的数据点:1n,m250,0001\leq n,m\leq 250,000

题目来源

[POI2007] MEG-Megalopolis