1506 : 图神的树

时间限制Time Limit 2 Sec 内存限制Memory Limit 1024 MB 提交次数Submitted 0 Times 通过次数Solved 0 Times 标准评测Standard Judge

题目描述Description

给你一棵有 n 个节点的带权无向树(节点编号 1\ldots n),第 i 条边连接节点 u_iv_i,权重为 w_i。最初,所有节点都未激活。你需要处理 q 个操作,每次询问操作后要输出将所有激活点连接起来的最小边权和。

操作分三种:

  • T u:切换节点 u 的激活状态(若原来非激活则激活,激活则变为非激活)。
  • A u v val: 将节点 uv 之间的简单路径加 val
  • Q:询问将所有激活点连接起来的最小边权和。

输入格式Input

第一行:两个整数 nq。(1\le n,q\le2\times10^5

接下来 n-1 行,每行三个整数 u_i,v_i,w_i 表示一条无向边,1\le u_i,v_i\le n1 \le w_i\le10^6

接下来 q 行,每行要么是

  • T u:切换节点 u 的激活状态;
  • A u v val: 将节点 uv 之间的简单路径加 val1 \le val \le100
  • Q:输出将所有激活点连接起来的最小边权和。

输出格式Output

对于每个 Q 操作,输出一行一个整数——最小边权和;若激活节点数少于 2,则输出 0

样例Sample

出题Author

xxy