P2216 HAOI2007 理想的正方形()

2021-08-29 20:42:21 字數 890 閱讀 8470

題目鏈結

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

輸入輸出格式

輸入格式:

第一行為3個整數,分別表示a,b,n的值

第二行至第a+1行每行為b個非負整數,表示矩陣中相應位置上的數。每行相鄰兩數之間用一空格分隔。

輸出格式:

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

#include

#include

#include

#include

using

namespace std;

int n,m,k,mp[

1005][

1005];

int dp1[

1005][

1005][

11],dp2[

1005][

1005][

11];int ans=

0x3f3f3f3f

;voidst(

)}intrmq

(int x,

int y,

int xx,

int yy)

intmain()

st();

for(

int i=

1;i+k-

1<=n;i++

)for

(int j=

1;j+k-

1<=m;j++

) ans=

min(ans,

rmq(i,j,i+k-

1,j+k-1)

);cout<}

P2216 HAOI2007 理想的正方形

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

P2216 HAOI2007 理想的正方形

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

P2216 HAOI2007 理想的正方形

p2216 haoi2007 理想的正方形 那來練手的板子題。去年普及組考慮單調佇列,感覺很慌。然後打算再複習一波。就找到了這個題。題目中 a,b 不大,可以容忍 o ab 的複雜度。而且子矩陣的寬度也是有限制的,最大最小也是可以分別分開計算的。所以可以先統計 n ast 1 大小的矩陣,然後縮成乙...