(僅用於記錄個人思路)
題目:給你乙個m×n的整數矩陣,在上面找乙個x×y的子矩陣,使子矩陣中所有元素的和最大。
輸入:輸入資料的第一行為乙個正整數t,表示有t組測試資料。每一組測試資料的第一行為四個正整數m,n,x,y(0
輸出:對於每組資料,輸出乙個整數,表示子矩陣的最大和。
si:1
4 5 2 2
3 361 649 676 588
992 762 156 993 169
662 34 638 89 543
525 165 254 809 280
so:2474
#include
#define ll long long
using
namespace std;
int m,n,x,y,s=
0,t,a[
1005][
1005];
intmain()
for(
int i=
1;i<=m;i++
)for
(int i=x;i<=m;i++)}
/* 比如還是上面那組矩陣
我想求乙個2*2的矩陣最大值
思路類似于容斥原理
第乙個矩陣因為是從左上角直接開始的,所以直接計算
第二個矩陣2 3換行2 3可認為是
0 0 0
1 2 3
1 2 3
第三個矩陣1 2換行1 2可認為是
0 1 2
0 1 2
0 1 2
第四個矩陣即原矩陣
即計算18-1-1-1-2-3(從大的九宮格中挖出小的四宮格)
即計算18-3-6+1,因為1的那個格被多減掉了一次所以加回來算出這個四宮格的大小
最後將幾個資料max求出最大值即為答案
*/cout<}return0;
}
最大子矩陣
描述 已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空 大小至少是1 1 子矩陣。比如,如下4 4的矩陣 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 的最大子矩陣是 9 2 4 1 1 8 這個子矩陣的大小是15。輸入輸入是乙個n n的矩陣。輸入的第...
最大子矩陣
已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空 大小至少是1 1 子矩陣。比如,如下4 4的矩陣 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 的最大子矩陣是 9 2 4 1 1 8 這個子矩陣的大小是15。輸入輸入是乙個n n的矩陣。輸入的第一行給...
最大子矩陣
描述 已知矩陣的大小定義為矩陣中所有元素的和。給定乙個矩陣,你的任務是找到最大的非空 大小至少是1 1 子矩陣。比如,如下4 4的矩陣 0 2 7 0 9 2 6 2 4 1 4 1 1 8 0 2 的最大子矩陣是 9 2 4 1 1 8 這個子矩陣的大小是15。分析 首先,對矩陣預處理一下,將這個...