【題意簡述】:題目告訴我們很多數據,有N,表示這個農場的大小N*N,還有B,表示我們要測量的那個小正方形的大小B*B,還有K,代表我們要在這個N*N的農場上測幾組數據。要測量的那個小正方形的左上角的坐標給你了,x和y。現在讓我們求出在這個B*B的小正方形中最大的數值減去最小的數值結果是多少
【分析】:這本應是個二維的RMQ問題:
接下來是我惡心 暴力的代碼:
// 368K 891Ms 險過!! // 應該是用二維的RMQ,但是,暴力也過了 #include#include using namespace std; int farm[251][251]; #define Max 251 #define Min 0 int N,B,K; int x,y; int main() { scanf(%d%d%d,&N,&B,&K); for(int i= 1 ;i<=N;i++) { for(int j =1;j<=N;j++) { scanf(%d,&farm[i][j]); } } while(K--) { scanf(%d%d,&x,&y); int max1 = Min; int min1 = Max; for(int i = x;i max1) max1 = farm[i][j]; if(farm[i][j]