問題一覧 > 通常問題

No.2310 [Cherry 5th Tune A] Against Regret

レベル : / 実行時間制限 : 1ケース 6.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 29
作問者 : 👑 Kazun / テスター : 👑 AngrySadEight
1 ProblemId : 9152 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-05-26 23:59:54

問題文

(N+1)(N+1) 頂点の有向グラフ DD がある. DD における (N+1)(N+1) 個の頂点は頂点 0,1,2,,N0,1,2, \dots, N と名付けられている.

0uN,0vN0 \leq u \leq N, 0 \leq v \leq N に対して, 頂点 uu から頂点 vv を結ぶ有向辺が Xu,vX_{u,v} 本ある. ここで, uvu \geq v ならば, Xu,v=0X_{u,v}=0 である.

この DD について, 以下の QQ 個の質問, 質問 11, \cdots, 質問 QQ に答えよ.

  • 質問 qq : DD に対して, 以下の操作を k=1,2,,Kqk=1,2, \dots, K_q の順に行って得られる有向グラフを DD' とする.
    • 頂点 Aq,kA_{q,k} から頂点 Bq,kB_{q,k} へ結ぶ有向辺を Cq,kC_{q,k} 本追加する. ここで, Aq,k<Bq,kA_{q,k} \lt B_{q,k} である.
    このとき, DD' において, 頂点 00 から頂点 NN へのパスの数を 998244353998244353 で割った余りを求めよ. なお, 条件を満たすパスの数は有限であることが証明できる.
  • ただし, たどった頂点が同じでも, 辺が異なっている部分があればそれらは異なるパスとする.

なお, 各質問は独立した問題とせよ. つまり, 質問 qq で追加された有向辺が別の質問における DD に追加されることはない.

制約

  • 1N4001 \leq N \leq 400.
  • 0Xu,v998244353(0uN,0vN)0 \leq X_{u,v} \leq 998244353 \quad (0 \leq u \leq N, 0 \leq v \leq N).
  • uvXu,v=0(0uN,0vN)u \geq v \Rightarrow X_{u,v}=0 \quad (0 \leq u \leq N, 0 \leq v \leq N).
  • 1Q3×1041 \leq Q \leq 3 \times 10^4.
  • 1Kq30(1qQ)1 \leq K_q \leq 30 \quad (1 \leq q \leq Q).
  • 0Aq,k<Bq,kN(1qQ,1kKq)0 \leq A_{q,k} \lt B_{q,k} \leq N \quad (1 \leq q \leq Q, 1 \leq k \leq K_q).
  • 1Cq,k998244353(1qQ,1kKq)1 \leq C_{q,k} \leq 998244353 \quad (1 \leq q \leq Q, 1 \leq k \leq K_q).
  • 入力は全て整数である.

入力

入力は以下の形式で標準入力から与えられる.

NN
X0,0X_{0,0} X0,1X_{0,1} \cdots X0,NX_{0,N}
X1,0X_{1,0} X1,1X_{1,1} \cdots X1,NX_{1,N}
\vdots
XN,0X_{N,0} XN,1X_{N,1} \cdots XN,NX_{N,N}
QQ
Question1\textrm{Question}_1
Question2\textrm{Question}_2
\vdots
QuestionQ\textrm{Question}_Q
ここで, Questionq\textrm{Question}_q では質問 qq に対する入力であり, 以下の形式で与えられる.
KqK_q
Aq,1A_{q,1} Bq,1B_{q,1} Cq,1C_{q,1}
Aq,2A_{q,2} Bq,2B_{q,2} Cq,2C_{q,2}
\vdots
Aq,KqA_{q,K_q} Bq,KqB_{q,K_q} Cq,KqC_{q,K_q}

出力

出力は QQ 行からなる. 第 q (1qQ)q~(1 \leq q \leq Q) 行には質問 qq に対する解答を整数で出力せよ.

最後に改行を忘れないこと.

また, この問題では入力が大量になる場合があるので, 高速な入力を利用することをおすすめする.

サンプル

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

DD' における頂点 00 から頂点 44 へのパスは以下である.

  • 頂点 00 \to 頂点 11 \to 頂点 22 \to 頂点 33 \to 頂点 44
  • 頂点 00 \to 頂点 44
  • 頂点 00 \to 頂点 11 \to 頂点 44 (22 個)
よって, 合計 44 個である.

サンプル2
入力
2
0 0 0
0 0 0 
0 0 0
2
1
0 1 100
3
0 1 100
1 2 100
0 1 100
出力
0
20000

頂点 00 から頂点 NN へ到達不可能な可能性がある. また, 有向辺を追加する際, 同じ頂点間に複数回有向辺を追加する可能性もある.

サンプル3
入力
6
0 314159265 358979323 846264338 327950288 41971693 993751058
0 0 271828182 845904523 536028747 135266249 775724709
0 0 0 161803398 874989484 820458683 436563811
0 0 0 0 141421356 237309504 880168872
0 0 0 0 0 207879576 350761908
0 0 0 0 0 0 123456789
0 0 0 0 0 0 0
1
4
1 4 46
3 5 4646
2 5 464646
3 4 46464646
出力
368653717

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