QOJ.ac

QOJ

Time Limit: 8 s Memory Limit: 512 MB Total points: 100

#1360. 행렬식

Statistics

행렬식(determinant)은 선형대수학에서 다루는 중요한 대상 중 하나입니다.

자연수 $n$에 대하여, $S_n$은 $\{1, 2, \dots, n\}$에서 $\{1, 2, \dots, n\}$으로 가는 함수 중 $n$개의 값 $f(1), f(2), \dots, f(n)$이 모두 다른 모든 치환(permutation)의 집합입니다.

$f \in S_n$에 대하여, $\text{inv}(f)$는 치환 $f$의 반전(inversion) 수, 즉 $i < j$이지만 $f(i) > f(j)$인 쌍 $(i, j)$의 개수입니다.

$N \times N$ 크기의 행렬 $A$를 고려합시다. $a_{i,j}$를 $i$행 $j$열의 원소라고 할 때, $A$의 행렬식은 다음과 같습니다.

$$\det(A) = \sum_{f \in S_n} (-1)^{\text{inv}(f)} \prod_{i=1}^{n} a_{i,f(i)}$$

각 원소가 정수인 $N \times N$ 행렬 $A$가 주어집니다. 다음 질의를 $Q$번 수행합니다.

정수 $x$가 주어지면, $A - xI$의 행렬식 값을 출력하십시오. 여기서 $I$는 $N \times N$ 단위 행렬입니다.

값이 너무 클 수 있으므로, 소수 $998\,244\,353$으로 나눈 나머지를 출력하십시오.

입력

첫 번째 줄에는 두 정수 $N$과 $Q$ ($1 \le N \le 500$, $1 \le Q \le 250\,000$)가 주어집니다.

다음 $N$개의 줄은 행렬 $A$를 설명합니다. 이 중 $i$번째 줄은 $N$개의 정수를 포함하며, 그중 $j$번째 정수는 $a_{i,j}$ ($0 \le a_{i,j} < 998\,244\,353$)를 나타냅니다.

그다음 $Q$개의 줄이 이어지며, 각 줄에는 질의 하나인 정수 $x$ ($0 \le x < 998\,244\,353$)가 포함되어 있습니다.

출력

각 질의에 대해, 답을 별도의 줄에 출력하십시오.

예제

입력 1

3 6
2 4 5
6 3 8
1 6 3
10 9 5 8 3 1

출력 1

407 470 402 495 260 110

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.