#P4114. Qtree1

    ID: 3016 远端评测题 1000ms 500MiB 尝试: 0 已通过: 0 难度: 5 上传者: 标签>线段树树链剖分,树剖概率论,统计

Qtree1

题目背景

数据规模和 spoj 上有所不同

题目描述

给定一棵 nn 个节点的树,有两种操作:

  • CHANGE i t 把第 ii 条边的边权变成 tt
  • QUERY a b 输出从 aabb 的路径上最大的边权。当 a=ba=b 时,输出 00

输入格式

第一行是一个整数 nn,表示节点个数。
第二行到第 nn 行每行输入三个整数 u,v,wu,v,w ,分别表示 uuvv 有一条边,边权是 ww
n+1n+1 行开始,一共有不定数量行,每一行先包含一个字符串,分别有以下三种可能:

  • CHANGE 接下来包含两个整数 x,tx, t ,表示一次修改操作。
  • QUERY 接下来包含两个正整数 a,ba, b , 表示一次查询操作。
  • DONE 表示输入结束。

输出格式

对于每个 QUERY 操作,输出一行一个数,表示 a,ba,b 的路径上最大的边权。

3
1 2 1
2 3 2
QUERY 1 2
CHANGE 1 3
QUERY 1 2
DONE
1
3

提示

数据规模与约定

对于全部的测试点,保证:

  • 1n1051 \leq n \leq 10^5
  • 1u,v,a,bn1 \leq u, v, a, b \leq n1x<n1 \leq x < n
  • 1w,t23111 \leq w, t \leq 2^{31} - 1
  • 操作次数不大于 3×1053 \times 10^5