네모난 순열 찾기 2

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

요약
모든 값이 서로 다른 N x N 격자에서, 안에 든 수들이 1부터 k까지의 순열이 되는 축에 나란한 부분 직사각형의 개수를 센다.
난이도

어려움10점 중 8점

유형
누적 합, 구현, 수학, 완전 탐색
정답자
아직 제출이 없습니다

문제

N2N^2개의 수가 NN행 NN열의 표 AA에 채워져 있다. 표의 위에서부터 rr번째 행, 왼쪽에서부터 cc번째 열에 위치한 칸에는 정수 A_r,cA\_{r,c}가 적혀 있으며, rr행 cc열을 편의상 (r,c)(r,c)로 표현한다. 이때, 표 AA에 채워진 값은 모두 다르다.

표 AA에서 직사각형 맨 왼쪽 위 칸이 (r_1,c_1)(r\_1,c\_1)이고, 맨 오른쪽 아래 칸이 (r_2,c_2)(r\_2,c\_2)가 되게 직사각형을 선택할 때, 1≤r_1≤r≤r_2≤N,1≤c_1≤c≤c_2≤N1\leq r\_1\leq r\leq r\_2\leq N,1\leq c\_1\leq c\leq c\_2\leq N 을 만족하는 A_r,cA\_{r,c}는 직사각형 안에 있는 수이다.

수 xx개로 이루어진 배열이 11부터 xx까지의 서로 다른 정수 xx개로 이루어져 있다면, 순열이다. 예를 들어 \[2,3,1,5,4]\[2,3,1,5,4]는 순열이지만, \[1,2,2]\[1,2,2]와 \[1,3,4]\[1,3,4]는 순열이 아니다.

직사각형의 네 변이 표의 경계선과 겹치도록 직사각형을 선택할 때, 직사각형 안에 있는 수를 나열한 것이 순열이 되는 경우의 수는 얼마일까?

입력

첫째 줄에 표 AA의 행과 열의 개수 NN이 주어진다. (1≤N≤1,0001\leq N\leq 1\\, 000)

이후 NN개의 줄에 걸쳐 i+1i+1번째 줄에 A_i,1,A_i,2,…,A_i,NA\_{i,1},A\_{i,2},\ldots ,A\_{i,N}이 공백으로 구분되어 주어진다. (1≤A_i,j≤N21\leq A\_{i,j}\leq N^2)

표 AA에 채워진 값은 서로 다르다.

출력

첫째 줄에 경우의 수를 출력한다.

예제1

  1. 예제 1

    입력
    4
    16 2 4 1
    11 3 5 6
    10 9 8 7
    12 13 14 15
    
    예상 출력
    4