xmastree

时间限制:10s      空间限制:256MB

题目描述

  有一棵含N个结点的树,树上每条边(ai,bi)都有一个权值wi。树上每个结点涂有一个初始颜色ci。现在有很多次修改操作,第i次修改会将结点xi的颜色修改成yi。请在所有修改前和每次修改之后输出一个数,表示对应时刻最近的同色结点对的距离。
  其中,距离定义为树上两点的最短路的距离。最短路按边的权值wi计算。


输入格式

  第一行一个数N。第二行N个数依次给出每个结点的初始颜色ci
  下面N-1行每行三个数ai,bi,wi,表示一条权值为wi的树边(ai,bi)
  下面一个数M表示修改次数。
  下面M行每行两个数xi,yi,表示将结点xi的颜色修改为yi


输出格式

  输出包含M+1行,第一行表示初始局面的最近同色结点对距离,下面M行依次表示每次修改后的最近同色结点对距离。如果某时刻没有同色点对,则在对应行输出-1


样例输入

5
2 2 3 2 3
3 5 9
1 3 1
2 1 2
4 1 8
4
2 3
2 1
1 1
2 2

样例输出

2
3
8
2
9

提示

样例说明
  每行输出对应的解释为:
  2 -> 最近的是1和2,颜色均为2,距离为2
  3 -> 最近的是2和3,颜色均为3,距离为3
  8 -> 最近的是1和4,颜色均为2,距离为8
  2 -> 最近的是1和2,颜色均为1,距离为2
  9 -> 最近的是3和5,颜色均为3,距离为9
数据规模和约定
  本题有十个测试点。十个测试点的数据规模如下:
编号 N M 出现过的颜色的总数
1 1000 0 <=10
2 2000 0 <=2000
3 5000 0 <=5000
4 7000 5 <=7000
5 9000 10 <=9000
6 10000 100 <=10000
7 10000 10000 <=50
8 12000 10000 <=12000
9 12000 12000 <=12000
10 12000 12000 <=12000

  另外,对于所有数据,有:
  1 <= ai <= N, 1 <= bi <= N, 1 <= xi <= N;
  1<=wi<=10000
  1 <= ci <= 10^9, 1 <= yi <= 10^9
 


题目来源

2012国家集训队Round 1 day3