問題一覧 > 通常問題

No.2949 Product on Tree

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 82
作問者 : nouka28 / テスター : rotti_coder aplysiaSheep t9unkubj
2 ProblemId : 11081 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2024-10-18 06:37:01

問題文

長さ NN の非負整数列 A=(A1,A2,,AN)A=(A_1,A_2,\dots,A_N)NN 頂点からなる木が与えられます。頂点には 11 から NN の番号がついており、ii 番目の辺は頂点 Ui,ViU_i,V_i を結んでいます。

相異なる 22 頂点 i,ji,j 間のコスト f(i,j)f(i,j) を次のように定義します。

  • 頂点 i,ji,j を結ぶ単純パス上の頂点を順に p1(=i),p2,,pk(=j)p_1(=i),p_2,\dots,p_k(=j) とする。ここで kk はパスに含まれる頂点数である。 このとき、 f(i,j)=Ap1×Ap2××Apkf(i,j)=A_{p_1}\times A_{p_2} \times \dots \times A_{p_k} で定める。

i=1N1j=i+1Nf(i,j)\displaystyle\sum_{i=1}^{N-1}\sum_{j=i+1}^{N} f(i,j)998244353998244353 で割ったあまりを求めてください。

制約

  • 2N2×1052\leq N\leq 2\times 10^5
  • 0Ai<9982443530\leq A_i< 998244353
  • 1Ui,ViN1\leq U_i,V_i\leq N
  • 入力はすべて整数である。
  • 与えられるグラフは木である。

入力

NN
A1A_1 A2A_2 \dots ANA_N
U1U_1 V1V_1
U2U_2 V2V_2
\vdots
UN1U_{N-1} VN1V_{N-1}

出力

i=1N1j=i+1Nf(i,j)\displaystyle\sum_{i=1}^{N-1}\sum_{j=i+1}^{N} f(i,j)998244353998244353 で割ったあまりを出力してください。

サンプル

サンプル1
入力
4
1 2 3 4
1 2
2 3
2 4
出力
54

求めるパスは以下の 66 通りあります。

  • f(1,2)=1×2=2f(1,2)=1\times 2=2
  • f(1,3)=1×2×3=6f(1,3)=1\times 2\times 3=6
  • f(1,4)=1×2×4=8f(1,4)=1\times 2\times 4=8
  • f(2,3)=2×3=6f(2,3)=2\times 3=6
  • f(2,4)=2×4=8f(2,4)=2\times 4=8
  • f(3,4)=3×2×4=24f(3,4)=3\times 2\times 4=24

求める値は 2+6+8+6+8+24=542+6+8+6+8+24=54998244353998244353 で割ったあまりの 5454 です。

サンプル2
入力
2
0 0
1 2
出力
0

サンプル3
入力
10
810284561 609063208 909877398 113848143 744347504 567699714 418423327 541843429 325332295 953873148
10 6
5 10
2 5
4 2
9 6
3 10
8 3
7 10
1 6
出力
318883473

998244353998244353 で割ったあまりを出力してください。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。