#lg4219. C136 线段树分治+并查集 [BJOI2014] 大融合

    ID: 6195 传统题 1000ms 256MiB 尝试: 14 已通过: 4 难度: 9 上传者: 标签>线段树并查集树状数组树链剖分动态树 LCT线段树分治离线处理省选/NOI−

C136 线段树分治+并查集 [BJOI2014] 大融合

[AdditionalFile2230.zip](file://AdditionalFile2230.zip?type=additional_file)

#2230. 「BJOI2014」大融合

标签: 传统 | 时间限制: 1000 ms | 内存限制: 256 MiB |

题目描述

小强要在 NN 个孤立的星球上建立起一套通信系统。这套通信系统就是连接 NN 个点的一个树。这个树的边是一条一条添加上去的。在某个时刻,一条边的负载就是它所在的当前能够联通的树上路过它的简单路径的数量。

bjoi2014_merger.png

例如,在上图中,现在一共有五条边。其中,(3,8)(3,8) 这条边的负载是 66,因为有六条简单路径 238, 2387, 38, 387, 438, 43872-3-8,\ 2-3-8-7,\ 3-8,\ 3-8-7,\ 4-3-8,\ 4-3-8-7 路过了 (3,8)(3,8)

现在,你的任务就是随着边的添加,动态的回答小强对于某些边的负载的询问。

输入格式

第一行包含两个整数 N,QN,Q,表示星球的数量和操作的数量。星球从 11 开始编号。

接下来的 QQ 行,每行是如下两种格式之一:

  • A x y 表示在 xxyy 之间连一条边。保证之前 xxyy 是不联通的。
  • Q x y 表示询问 (x,y)(x,y) 这条边上的负载。保证 xxyy 之间有一条边。

输出格式

对每个查询操作,输出被查询的边的负载。

样例

输入

8 6
A 2 3
A 3 4
A 3 8
A 8 7
A 6 5
Q 3 8

输出

6

数据范围与提示

对于所有数据,1N,Q1000001 \leq N,Q \leq 100000