#P6384. 『MdOI R2』Quo Vadis
『MdOI R2』Quo Vadis
题目背景
「终于……终于要到离别的时候了呢。」
『好吧。这一次过去之后,我们可能就再也不能相会了呢……』
「无论如何,还是要离别的……」
『我理解你。感谢你这些天陪伴在我身旁。』
「我也一样。如果可以的话,我真希望能继续陪伴在你身边。」
『分别之后,我也不是现在的我了……』
『至少不像现在这样。』
「离开你之后,我也不会像现在这样了……」
『君往何处?君欲往何处?君莫走,君莫走!若要走,请带上我!』
……
「所以……所以现在我们该怎么办?」
『就让我们纵然歌舞于其中吧!』
耳畔响起了小提琴和手风琴的声音,它是那么熟悉,而又那么陌生……
题目描述
在小 M 离别之前,他给小 K 留了一张纸条——
如果你能完成他的话,我将有可能会再次与你相遇。
给定一个无限大的矩阵 ,其中 。
接下来有 个操作,每行 至 个整数,意义如下:
:对矩阵 进行高斯消元,使之成为一个上三角矩阵。
注意:这里,高斯消元中只允许将一行的某一个倍数加到另一行上,不允许交换任意两行,不允许将某行乘上一个倍数,保证这样之后仍然可以得到上三角矩阵,并且保证消元之后的矩阵的每个元素均为非负整数。
:求出当前矩阵的 。
:求出 。
:设 是一个 阶矩阵,其中 ,你需要求出 。
上述所有答案对 取模。
如果你不知道什么是行列式,请点这里,其中 表示求矩阵的行列式。
在你完成了小 M 给小 K 的任务之后,你可以来看小提琴和手风琴的谱子。
输入格式
第一行一个整数 。
接下来 行,每行 个整数,表示操作。
输出格式
若干行,表示你的答案对 取模后的值。
6
4 4
2 4 4
3 4
1
2 4 4
3 4
2304
64
186
32
72
提示
【帮助与提示】
为方便选手测试代码,本题额外提供两组附加样例供选手使用。
【样例解释】
注意到询问的 和 范围都不大于 ,所以我们考虑使用 左上角的 子矩阵进行解释,容易证明这不会造成任何影响。
在高斯消元之前,矩阵为 $\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 |
对于 的数据,, 操作前的所有 操作中 不大于每一个测试点 范围的 倍。
保证 操作出现不超过 次。