HAOI2007 理想的正方形

2021-08-06 04:02:51 字數 855 閱讀 2289

時間限制: 10 sec  

記憶體限制: 162 mb

有乙個a*b的整數組成的矩陣,現請你從中找出乙個n*n的正方形區域,使得該區域所有數中的最大值和最小值

的差最小。

第一行為3個整數,分別表示a,b,n的值第二行至第a+1行每行為b個非負整數,表示矩陣中相應位置上的數。每

行相鄰兩數之間用一空格分隔。

100%的資料2<=a,b<=1000,n<=a,n<=b,n<=100

僅乙個整數,為a*b矩陣中所有「n*n正方形區域中的最大整數和最小整數的差值」的最小值。

5 4 2

1 2 5 6

0 17 16 0

16 17 2 1

2 10 2 1

1 2 2 2

1
#include#include#include#include#include#include#define maxn 1007

#define ll long long

using namespace std;

ll e,f,a[maxn],c[maxn],***[maxn],head3,tail3,mp1[maxn],mp2[maxn],b[maxn][maxn],w[maxn][maxn],head1,tail1,head2,tail2,n,k;

inline int read()

while(ch<='9'&&ch>='0')

return s*f;

}inline void push1(int i)

inline void push3(int i)

}//cout<=k)}} 

cout<

HAOI 2007 理想的正方形

有乙個a b的整數組成的矩陣,現請你從中找出乙個n n的正方形區域,使得該區域所有數中的最大值和最小值的差最小。輸入格式 第一行為3個整數,分別表示a,b,n的值 第二行至第a 1行每行為b個非負整數,表示矩陣中相應位置上的數。每行相鄰兩數之間用一空格分隔。輸出格式 僅乙個整數,為a b矩陣中所有 ...

HAOI2007 理想的正方形

有乙個a b的整數組成的矩陣,現請你從中找出乙個n n的正方形區域,使得該區域所有數中的最大值和最小值的差最小.第一行為3個整數,分別表示a,b,n的值第二行至第a 1行每行為b個非負整數,表示矩陣中相應位置上的數.每行相鄰兩數之間用一空格分隔.100 的資料2 a,b 1000,n a,n b,n...

HAOI2007 理想的正方形

x與x所儲存的分別是1 n的長方形內的最大值,最小值。x i j 儲存第i行第jj n 1列的長方形中的最大值。同理,x i j 儲存第i行第jj n 1列的長方形中的最小值。這時再對這兩個陣列的每一列上的值進行維護,將x中每個區間的的最大值用y維護,將x中的每個區間的最小值用y維護。那麼y i j...