#P16415. Matrix Power
Matrix Power
题目背景
矩阵快速幂是计算机科学中常见的基础工具。
不过,当矩阵规模非常大时,即使采用快速幂,也无法直接存储和计算整个矩阵。本题给出的矩阵具有特殊的元素结构,并且只要求查询矩阵幂中的少量位置。
请计算这些指定位置上的元素。
题目描述
给定四个整数 。
构造一个 的矩阵 。矩阵的行、列下标均从 开始,即:
矩阵 的第 行第 列元素定义为:
其中,。
令:
这里的矩阵乘法采用通常的定义。对于两个 的矩阵 ,其乘积 满足:
现在给定 个查询。第 个查询给出两个下标 ,要求计算:
请按照查询顺序输出所有答案。
输入格式
第一行包含四个整数:
第二行包含一个整数 ,表示查询数量。
接下来 行,每行包含两个整数 ,表示需要查询矩阵 的第 行、第 列元素。
输出格式
输出一行 个整数。
第 个整数表示:
答案按照查询在输入中出现的顺序输出,相邻整数之间用一个空格分隔。
数据范围
对于所有测试数据:
- ;
- ;
- ;
- ;
- ;
- ;
- 。
样例 1
输入
1 2 2 2
4
0 0
0 1
1 0
1 1
输出
5 8 8 13
解释
矩阵 为:
因此:
$$B=A^2 = \begin{pmatrix} 1\cdot1+2\cdot2& 1\cdot2+2\cdot3\\ 2\cdot1+3\cdot2& 2\cdot2+3\cdot3 \end{pmatrix} = \begin{pmatrix} 5&8\\ 8&13 \end{pmatrix}.$$四个查询依次要求矩阵 的全部四个元素,因此输出:
5 8 8 13
样例 2
输入
0 1 10 3
10
0 0
1 1
2 2
3 3
4 4
5 5
6 6
7 7
8 8
9 9
输出
100 100 100 100 100 100 100 100 100 100
解释
由于 且 ,矩阵 中的每个元素都是 。
因此 中每个元素都是 , 中每个元素都是 。
样例 3
输入
0 1000000000 1 1000000000
3
0 0
0 0
0 0
输出
1 1 1
解释
当 时,矩阵只有一个元素:
因此无论 为多少, 的唯一元素始终为 。