접두사와 이차원 템플릿 제목

이어서 질의 q, 네 개의 정수 X1, Y1, X2, Y2, 좌측 위 좌표를 포함하고, 각 도전 입력 오른쪽 좌표를 낮추고, n 행 및 m 열의 정수 행렬을 입력은 부분 행렬을 나타낸다.

각 서브 쿼리 출력 매트릭스 모든 숫자.

입력 형식

첫 번째 라인은 세 개의 정수 N, M, Q를 포함한다.

다음 N 라인은 각 행은 정수 m은 정수를 나타내는 행렬 포함한다.

다음 행 Q는 4 개 개의 정수 X1, Y1, X2, Y2를 포함하는 각각의 행은, 쿼리의기를 나타낸다.

출력 형식

Q 행의 합계는 각 행이 문의의 결과를 출력한다.

데이터 범위

. (1) N- , m 1,000
. 1 Q 200,000 ,
. 1 X 1. X 2 N- ,
1. Y 1. Y 2 m
- 1,000 직사각형 어레이 내의 소자 화소 1,000

샘플 입력 :

3 4 3
1 7 2 4
3 6 2 8
2 1 2 3
1 1 2 2
2 1 3 4
1 3 3 4

샘플 출력 :

17
27
21

AC代码
의 #pragma GCC의 최적화 (2) 
#INCLUDE <비트 / stdc ++ H.>
 사용  스페이스 성병;
인라인 INT는 읽기 () { INT (X) = 0 , F = 1 ;  C = getchar가 (); 반면 (c =! ' - ' && (c < ' 0 ' || C> ' 9 ' )), C = getchar가 (); 경우 (c == ' - ' ) F = - 1 , C = getchar가 (); 반면 (c> = ' 0 ' && C <= ' 9 ' ) (X) = (X) * 10 + C- ' 0 ' , C = getchar가 ();
형식 정의를 오래  오래 LL;
CONST  INT maxn = 1e3 + (10) ;
int로 A [maxn] maxn];
INT S [maxn] maxn];
INT의 N, M, Q;
int 형 ) (주
{
    CIN >> N >> >> m Q;
    위한 ( INT 난 = 1 ; I <= N; I ++ ) {
          ( INT J = 1 ; J <= m; J ++ ) {
            CIN >> A [I] [J]
            S [I] [J] = A [i]를 [J] + S [I- 1 ] [J] + S [I] [J = 1 ] -s [Ⅰ- 1 ] [J = 1 ];
        }
    }
    INT X1, X2, Y1, Y2;
    INT 합 = 0 ;
    위한 ( INT 난 = 0 ; I <Q를, I ++ ) {
        CIN >> >> X1, Y1, X2 >> >> Y2; = S [X2] [Y2] -s [X1- 1 ] [Y2] -s [X2] Y1- 1 ] + S [X1- 1 ] [Y1- 1 ];
        의 printf ( " 가 % d \ n " , 합);
    }
}

 

 

추천

출처www.cnblogs.com/lipu123/p/12233484.html