#P6813. 「MCOI-02」Glass 玻璃

「MCOI-02」Glass 玻璃

题目背景

小 S 进入了一个服务器,这个服务器有一个游戏叫“树上的玻璃”。

题目描述

首先给定一棵树,每个点上有 ViV_i 个玻璃,每条边上有权值 WiW_i

每次操作小 S 可以选择两个节点 u,v(uv)u,v(u\ne v),从节点 uu 到节点 vv 的唯一路径上,边和 为路径上所有边的权值和,即 Wi\sum W_i点和 为路径上所有点(包括 u,vu,v)的玻璃数和,即 Vi\sum V_i。小 S 将可以获得 边和点和 的乘积的分数,即 Wi×Vi\sum W_i\times\sum V_i

任意两次操作不能完全相同,(u,v)(u,v)(v,u)(v,u) 被看作是两种操作。

但是有时候这颗树太过庞大,小 S 需要你的帮助。他需要你告诉他,经过 N(N1)N(N-1) 次操作后,总共能得到多少分。结果可能很大,你只需要输出答案对 998244353998244353 取模的结果。

输入格式

第一行一个整数 NN 表示树的节点数。
第二行 NN 个整数,第 ii 个数 ViV_i 表示节点 ii 的玻璃数。
接下来 N1N-1 行,每行三个数 x,y,zx,y,z,表示节点 x,yx,y 之间连有一条权值为 zz 的树边。

输出格式

一个整数,即总共能得到的分对 998244353998244353 取模。

5
1 2 1 2 1
1 5 1
1 2 2
2 3 1
2 4 2
256

提示

样例说明

对于样例 11,树的形态如下:

数据规模与约定

本题采用捆绑测试。

子任务编号 NN Vi,WiV_i,W_i 特殊性质 分值 时限
1 200\le200 <23\lt 2^3 33 1s\rm 1s
2 103\le10^3 <23\lt2^3 66
3 6×103\le6\times10^3 <28\lt2^8 1111
4 2×105\le2\times 10^5 <28\lt 2^8 存在度数为 N1N-1 的节点 1212
5 2×105\le2\times10^5 树的形态为一条链 1313
6 2121
7 2×106\le2\times10^6 3434 2s\rm 2s

对于 100%100\% 的数据,0Vi,Wi<2160\le V_i,W_i\lt2^ {16}1N2×1061 \le N\le2\times10^6

说明

Minecraft OI Round 2 D

  • Maker:Inf_Voltage
  • Tester:tarjin