#NOI2023D. 贸易(trade)

贸易(trade)

题目描述

近年来,A 国的商贸发展迅猛,但国内的道路建设却跟不上步伐,明显成为了人们贸易往来的限制,管理者为此费尽了心思。

具体而言,A 国共有 2n12^n-1 个城市,其中 11 号城市为首都。对于所有的非首都城市 ii,都有一条单向道路从城市 ii 出发,到达城市 i2\lfloor \frac{i}{2} \rfloor。为方便起见,称这样的道路为『第一类道路』,称城市 i2\lfloor \frac{i}{2} \rfloor 为城市 ii 的『上级城市』。

除此之外,还有 mm单向道路,设其中第 ii 条道路从城市 uiu_i 出发,到达城市 viv_i,这样的道路都有一个特殊性质:从城市 viv_i 出发,沿着第一类道路不断向『上级城市』走去,最终总能走到城市 uiu_i。称这样的道路为『第二类道路』。

每一条道路都有相应的长度值。由此,对于 A 国的任意两个城市 xxyy,都可以计算出从城市 xx 出发,沿道路走到城市 yy,所经过的道路的长度之和的最小值,将这一数值记为 dist(x,y)dist(x,y)。但由于 A 国的道路建设存在严重缺陷,从城市 xx 出发可能根本到达不了城市 yy,此时定义 dist(x,y)=0dist(x,y)=0。同时一个城市出发到自己是不需要经过任何道路的,因此定义 dist(x,x)=0dist(x,x)=0

现在管理者希望计算出这些 dist(x,y)dist(x,y) 的值,以便合理衡量人们贸易往来的便捷程度。但由于 A 国的城市数量太多,将这些值一一列出的工作量太大,因此管理者只希望求出所有 dist(x,y)dist(x,y) 值之和,也就是 x=12n1y=12n1dist(x,y)\sum_{x=1}^{2^n-1}{\sum_{y=1}^{2^n-1}{dist(x,y)}},并希望请你来帮忙。

输入格式

从文件 trade.in 中读入数据。

输入的第一行包含两个正整数 nnmm

输入的第二行包含 2n22^n-2 个正整数,第 ii 个数 aia_i 表示从城市 i+1i+1 出发, 到达城市 i+12\lfloor \frac{i+1}{2} \rfloor 的『第一类道路』的长度。

接下来的 mm 行,每行包含三个正整数 u,v,wu,v,w,描述了一条从城市 uu 到城市 vv 的『第二类道路』, 其长度为 ww

输出格式

输出到文件 trade.out 中。

输出一行一个正整数,表示对应的答案。由于答案可能很大, 你只需要输出模 998244353998244353 意义下的答案即可。

2 1
2 1
1 2 2
8

样例 2

见选手目录下的 trade2.intrade2.ans

样例 3

见选手目录下的 trade3.intrade3.ans

样例 4

见选手目录下的 trade4.intrade4.ans

数据范围

对于所有测试数据保证:2n182 \le n \le 181m2n1 \le m \le 2 ^ n1u,v2n11 \le u, v \le 2 ^ n - 11ai,w1091 \le a_i, w \le 10 ^ 9

测试点编号 nn mm 是否有特硃性质
121\sim 2 =8=8 256\le 256
343\sim 4 =9=9 512\le 512
585\sim 8 =12=12 4,096\le 4,096
99 =16=16 10\le 10
1010 50\le 50
1111 100\le 100
1212 65,536\le 65,536
131513\sim 15
161716\sim 17 =18=18 262,144\le 262,144
182018\sim 20

特殊性质:保证每一条『第二类道路』都是从首都(城市 11)出发。