#P50131. 「Antileaf's Round」我们的 CPU 遭到攻击

「Antileaf's Round」我们的 CPU 遭到攻击

题目描述

攻击

给你一个有 nn 个点的森林,点有黑白两种颜色,初始时所有点都是白色,森林的每条边有边权,初始时这个森林有 mm 条边。
对这个森林进行 kk 次操作,操作有三种:

  • L u v w:添加一条连接 uuvv,长度为 ww 的边。
  • C u v:删除连接 uuvv 的边(保证存在)。
  • F u:反转点 uu 的颜色(黑变白,白变黑)。
  • Q u:询问所有与 uu 相连的黑点到 uu 的距离之和。(相连指的是在同一连通块中

输入格式

第一行三个非负整数,分别表示 nnmmkk
以下 mm 行,每行三个整数 uuvvww,表示初始时有一条边连接 uuvv,长度为 ww
以下 kk 行,每行描述一个操作,格式如上所述。

输出格式

对于每个 Q Q 操作,单独一行输出一个整数表示答案。

样例

5 2 7
1 2 5
3 5 -13
Q 2
F 5
L 3 4 -2
Q 4
L 2 4 7
C 1 2
Q 2
0
-15
-8

我已经想到了一个绝妙的解释,可是地方太小,写不下了。

数据范围与提示

0k<n1050\le k< n\le 10^5m3×105m\le 3\times 10^5w107|w|\le 10^7,保证任何时刻这个图均为森林(即不会出现环)。