给定一个 n ∗ m 的矩阵 A,询问位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
第一行包含两个整数 n 和 m。 之后 n 行每行包含 m 个整数 Ai,j。
共一行包含一个整数 ans,表示位于矩阵边缘的元素之和。
对于 100% 的数据:n, m ≤ 100
给定一个 n ∗ m 的矩阵 A,对其进行 q 次询问:以 (x1, y1) 为左上角,(x2, y2) 为右下角的子矩阵中,所有元素的最大值。
第一行包含三个整数 n,m 和 q。 之后 n 行每行包含 m 个整数 Ai,j。 之后 q 行每行包含四个整数 x1,y1,x2 和 y2。
共 q 行包含一个整数 ans,表示子矩阵中所有元素的最大值。
对于 100% 的数据:n, m, q ≤ 100
给定 k 种移动方式:从 (i, j) 移动到 (i + xk, j + yk)(xk, yk > 0)。询问在一个 n ∗ m 的矩阵中,从 (1, 1) 出发,可以到达多少个位置。
第一行包含三个整数 n,m 和 k。 之后 k 行每行包含两个 xi 和 yi。
共一行包含一个整数 ans,表示可以到达的位置个数。
对于 100% 的数据:n, m ≤ 100,k ≤ 10
在一个 n ∗ m 的矩阵 A 的所有位置中分别填入 0 或 1,要求填入的数必须满足 Ai,j ≤ Ai,j+1 且Ai,j ≤ Ai+1,j。询问一共有多少种不同的矩阵,并将答案对 1, 000, 000, 007 取模。
共一行包含两个整数 n 和 m。
共一行包含一个整数 ans,表示矩阵个数模 1, 000, 000, 007 的值。
对于 60% 的数据:n, m, k ≤ 300 对于 100% 的数据:n, m, k ≤ 5000
对一个 n ∗ m 的零矩阵 A 进行 q 次操作:
i j:将 Ai,j 取反;i:将矩阵 A 第 i 行的所有元素全部取反;j:将矩阵 A 第 j 列的所有元素全部取反;k:将矩阵 A 还原为第 k 次操作之后的状态。进行每一次操作之后,询问当前矩阵所有元素的和。
第一行包含三个整数 n,m 和 q。 之后 q 行每行包含两个或三个整数,表示一次操作的所有参数。
共 q 行每行包含一个整数 ans,表示当前矩阵所有元素的和。
对于 30% 的数据:n, m ≤ 300,q ≤ 1000 对于 60% 的数据:n, m ≤ 1000,q ≤ 5000 对于 100% 的数据:n, m ≤ 1000,q ≤ 100000
I Got a Matrix! I Liked Matrix! I Like Matrix! I Will Like Matrix! I Like Matrix Forever!
