P5526 [Ynoi2012] 惊惶的 SCOI2016

题目描述

给你一棵 $n$ 个节点的树,每个点有个颜色,有 $m$ 次修改,每次修改需要输出树上所有有向简单路径的颜色数的和。

输入格式

第一行,输入两个整数 $n$ 和 $m$。 第二行,输入 $n$ 个整数 $c_1,c_2,\ldots,c_n$($1\leq c_i\leq n$)。其中 $c_i$ 为 $i$ 节点的初始颜色。 接下来 $n-1$ 行每行包括两个整数 $u,v$($1\leq u,v\leq n$),这表示 $u$ 与 $v$ 之间有一条边。 接着 $m$ 行每行包括两个整数 $u,x$($1\leq u,x\leq n$)表示将节点 $u$ 的颜色修改为 $x$。

输出格式

输出 $m+1$ 行,每行一个整数,为初始这个树上所有路径颜色数的和,以及每次修改后的这个值。

说明/提示

Idea:nzhtl1477,Solution:nzhtl1477,Code:nzhtl1477,Data:nzhtl1477 对于 $100\%$ 的数据,满足 $2\leq n\leq 4\times 10^5$,$1\leq m\leq 4\times 10^5$。