#P6384. 『MdOI R2』Quo Vadis
『MdOI R2』Quo Vadis
Description
在小 M 离别之前,他给小 K 留了一张纸条——
如果你能完成他的话,我将有可能会再次与你相遇。
给定一个无限大的矩阵 ,其中 。
接下来有 个操作,每行 至 个整数,意义如下:
:对矩阵 进行高斯消元,使之成为一个上三角矩阵。
注意:这里,高斯消元中只允许将一行的某一个倍数加到另一行上,不允许交换任意两行,不允许将某行乘上一个倍数,保证这样之后仍然可以得到上三角矩阵,并且保证消元之后的矩阵的每个元素均为非负整数。
:求出当前矩阵的 。
:求出 。
:设 是一个 阶矩阵,其中 ,你需要求出 。
上述所有答案对 取模。
如果你不知道什么是行列式,请点这里,其中 表示求矩阵的行列式。
在你完成了小 M 给小 K 的任务之后,你可以来看小提琴和手风琴的谱子。
Input Format
第一行一个整数 。
接下来 行,每行 个整数,表示操作。
Output Format
若干行,表示你的答案对 取模后的值。
6
4 4
2 4 4
3 4
1
2 4 4
3 4
2304
64
186
32
72
Hint
【帮助与提示】
为方便选手测试代码,本题额外提供两组附加样例供选手使用。
【样例解释】
注意到询问的 和 范围都不大于 ,所以我们考虑使用 左上角的 子矩阵进行解释,容易证明这不会造成任何影响。
在高斯消元之前,矩阵为 $\begin{pmatrix}1&2&3&4\\2&8&6&16\\3&6&27&12\\4&16&12&64\end{pmatrix}$,高斯消元后则为 $\begin{pmatrix}1&2&3&4\\0&4&0&8\\0&0&18&0\\0&0&0&32\end{pmatrix}$。
【数据范围】
| 子任务编号 | 操作是否存在 | 操作前 操作中 | 操作后 操作中 | 操作前 操作中 | 操作后 操作中 | 操作中 | 分值 |
|---|---|---|---|---|---|---|---|
| Subtask 1 | 否 | 不存在 | 不存在 | 不存在 | |||
| Subtask 2 | |||||||
| Subtask 3 | |||||||
| Subtask 4 | |||||||
| Subtask 5 | 是 | 不存在 | |||||
| Subtask 6 | |||||||
| Subtask 7 | |||||||
对于 的数据,, 操作前的所有 操作中 不大于每一个测试点 范围的 倍。
保证 操作出现不超过 次。
京公网安备 11011102002149号