#P10155. [2017备战wc]树

[2017备战wc]树

题目描述

又见人民群众喜闻乐见的数据结构题!

给定一棵有根树,支持如下 88 种操作:

  1. xx 为树的根;
  2. Link-Cut,即把点 xx 的父亲改为 yy
  3. 把点 xx 的权值增加 vv
  4. 查询点 xx 的权值;
  5. xxyy 的路径上的所有点的权值增加 vv
  6. 查询 xxyy 的路径上的所有点权值的最小值;
  7. 把以 xx 为根的子树中的所有点的权值增加 vv
  8. 查询以 xx 为根的子树中的所有点权值的最小值。

请你依次处理这些操作。

输入格式

第一行两个整数 n,mn,m,表示树的大小为 nn,操作数为 mm

接下来 nn 行,第 i+1i+1 行包含两个整数 fi,vif_i,v_i,表示点 ii 的父亲是 fif_i,初始权值为 viv_i。保证 fi<if_i<i。若 fi=0f_i=0,则 ii 为根。

接下来 mm 行,每行为以下格式之一,且恰好与题目描述中的 88 种操作对应:

  1. E x
  2. LC x y
  3. CV x v
  4. QV x
  5. CP x y v
  6. QP x y
  7. CS x v
  8. QS x

保证所有操作合法。

Ȩֵv<=1000

输出格式

对于每个 QVQPQS 操作,输出一行一个整数,表示对应询问的答案。

样例输入

6 10
0 620
1 540
2 719
3 8
4 740
1 234
CP 3 4 87
E 3
LC 2 4
QP 6 1
QV 6
CV 5 663
LC 6 5
QS 3
CS 4 328
QS 6

样例输出

234
234
95
562

数据范围

数据编号 nn \le mm \le 可能出现的操作类型
0 100 E, LC, CV, QV, CP, QP
1 100000 E, LC, CV, QV
2 20000 E, LC, CV, QV, CP, QP
3 1000 E, LC, CV, QV, CP, QP, CS, QS
4, 5 100000 CV, QV, CS, QS
6, 7 LC, CV, QV, CS, QS
8, 9 CV, QV, CP, QP
10 ~ 12 E, LC, CV, QV, CP, QP
13 ~ 15 CV, QV, CP, QP, CS, QS
16 ~ 19 E, LC, CV, QV, CP, QP, CS, QS