atcoder#ARC158E. [ARC158E] All Pair Shortest Paths

[ARC158E] All Pair Shortest Paths

题目描述

2 2 N N 列のマス目があります.上から i i 行目,左から j j 列目のマスを (i,j) (i,j) で表します.(i,j) (i,j) には正整数 xi,j x_{i,j} が書かれています.

2 2 つのマスは,辺を共有するときに隣接するといいます.

マス X X から Y Y へのパスとは,相異なるマスからなる列 (P1, , Pn) (P_1,\ \ldots,\ P_n) であって,P1 = X P_1\ =\ X , Pn = Y P_n\ =\ Y であり,任意の 1 i  n1 1\leq\ i\ \leq\ n-1 に対して Pi P_i Pi+1 P_{i+1} が隣接するものをいいます.さらに,そのパスの重みP1, , Pn P_1,\ \ldots,\ P_n に書かれている整数の総和として定義します.

2 2 つのマス X, Y X,\ Y に対して,X X から Y Y へのパスの重みとしてありうる最小値を f(X, Y) f(X,\ Y) と書くことにします.すべてのマスの 2 2 つ組 (X,Y) (X,Y) に対する f(X, Y) f(X,\ Y) の総和を 998244353 998244353 で割った余りを求めてください.

输入格式

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

N N x1,1 x_{1,1} \ldots x1,N x_{1,N} x2,1 x_{2,1} \ldots x2,N x_{2,N}

输出格式

すべてのマスの 2 2 つ組 (X,Y) (X,Y) に対する f(X, Y) f(X,\ Y) の総和を 998244353 998244353 で割った余りを出力してください.

题目大意

给你一个 2×N2 \times N 的网格图,每个格子上都有一个正整数,定义一条路径的长度为这条路径经过的所有点上的正整数之和。对于两个格子 X,YX,Y,令 f(X,Y)f(X,Y) 表示 XXYY 的所有路径中长度最小的路径的长度,,求所有 (X,Y)(X,Y)f(X,Y)f(X,Y) 的和对 998244353998244353 取模的结果。

1
3
5
24
2
1 2
3 4
76
5
1 1000000000 1 1 1
1 1 1 1000000000 1
66714886

提示

制約

  • 1 N 2× 105 1\leq\ N\leq\ 2\times\ 10^5
  • 1 xi,j  109 1\leq\ x_{i,j}\ \leq\ 10^9

Sample Explanation 1

次の 4 4 通りの値の総和を求めます. - X = (1,1), Y = (1,1) X\ =\ (1,1),\ Y\ =\ (1,1) のとき:f(X, Y) = 3 f(X,\ Y)\ =\ 3 . - X = (1,1), Y = (2,1) X\ =\ (1,1),\ Y\ =\ (2,1) のとき:f(X, Y) = 8 f(X,\ Y)\ =\ 8 . - X = (2,1), Y = (1,1) X\ =\ (2,1),\ Y\ =\ (1,1) のとき:f(X, Y) = 8 f(X,\ Y)\ =\ 8 . - X = (2,1), Y = (2,1) X\ =\ (2,1),\ Y\ =\ (2,1) のとき:f(X, Y) = 5 f(X,\ Y)\ =\ 5