아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

색종이와 쿼리

시간 제한1초메모리 제한512 MB

요약
축에 평행한 직사각형 N개와 질의 직사각형 M개가 주어질 때, 각 질의 영역 안에서 한 점을 덮는 입력 직사각형 수의 최댓값을 구한다.
난이도

어려움10점 중 9점

유형
세그먼트 트리, 분할 정복, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

2차원 좌표평면 위에 각 변이 좌표축과 평행한 직사각형 모양의 색종이 NN장이 있다.

(y1,x1,y2,x2)(y_1, x_1, y_2, x_2)를 (y1,x1)(y_1, x_1)은 직사각형의 왼쪽 아래 좌표, (y2,x2)(y_2, x_2)는 직사각형의 오른쪽 위 좌표를 뜻하는 직사각형의 내부 영역이라 정의한다.

아래는 (2,0,5,8)(2, 0, 5, 8), (0,1,6,3)(0, 1, 6, 3), (1,2,4,5)(1, 2, 4, 5), (3,4,7,7)(3, 4, 7, 7)에 각각 한 장씩, 총 네 장의 색종이가 2차원 좌표평면에 놓인 경우의 예시이다.


 

이때 다음 쿼리를 수행하는 프로그램을 작성하시오.

  • y1 x1 y2 x2: (y1,x1,y2,x2)(y_1, x_1, y_2, x_2)에서 색종이가 가장 많이 겹쳐 있는 영역에 놓여 있는 색종이의 장 수를 출력한다.

입력

첫째 줄에 색종이의 장수 NN과 쿼리의 개수 MM이 주어진다. (1≤N,M≤100,0001 \le N, M \le 100,000)

다음 NN개의 줄에는 색종이가 놓인 영역 (y1,x1,y2,x2)(y_1, x_1, y_2, x_2)가 한 줄에 하나씩 주어진다. (0≤y1<y2≤1,5000 \le y_1 < y_2 \le 1,500, 0≤x1<x2≤1,5000 \le x_1 < x_2 \le 1,500)

다음 MM개의 줄에는 쿼리 y1,x1,y2,x2y_1, x_1, y_2, x_2가 한 줄에 하나씩 주어진다. (0≤y1<y2≤1,5000 \le y_1 < y_2 \le 1,500, 0≤x1<x2≤1,5000 \le x_1 < x_2 \le 1,500)

주어지는 좌표는 모두 정수이다.

출력

각 쿼리를 수행한 결과를 한 줄에 하나씩 출력한다.

예제1

  1. 예제 1

    입력
    4 5
    2 0 5 8
    0 1 6 3
    1 2 4 5
    3 4 7 7
    2 3 4 5
    4 0 6 6
    0 3 2 5
    1 0 5 3
    6 1 7 4
    
    예상 출력
    3
    2
    1
    3
    0