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

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

순열의 역위 개수

면접 대비

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

요약
크기 n인 순열 중에서 역전 횟수가 정확히 k인 것의 개수를 30011로 나눈 나머지를 구한다. 마호니 수의 점화식을 누적 합과 슬라이딩 윈도로 계산한다.
난이도

보통10점 중 6점

유형
동적 계획법, 조합론, 누적 합, 슬라이딩 윈도우
정답자
아직 제출이 없습니다

문제

서로 다른 정수로 이루어진 수열 x1,x2,…,xnx_1, x_2, \dots, x_n이 모든 1≤i≤n1 \le i \le n에 대해 1≤xi≤n1 \le x_i \le n을 만족하면, 이 수열을 크기 nn의 순열이라고 한다. 순열에서 역위(inversion)란 xi>xjx_i > x_j인 인덱스 쌍 1≤i<j≤n1 \le i < j \le n을 말한다.

정수 nn과 kk가 주어질 때, 크기 nn의 순열 중에서 역위가 정확히 kk개인 것의 개수를 구하여라.

입력

한 줄에 두 정수 nn과 kk가 공백 하나로 구분되어 주어진다 (1≤n≤5001 \le n \le 500, 0≤k≤n(n−1)/20 \le k \le n(n-1)/2). 각각 순열의 크기와 구하려는 역위의 개수를 의미한다.

출력

크기 nn의 순열 중 역위가 정확히 kk개인 것의 개수를 3001130011로 나눈 나머지를 한 줄에 출력한다.

힌트

크기 33의 순열 중 역위가 22개인 것은 (2,3,1)(2, 3, 1)과 (3,1,2)(3, 1, 2)이므로, n=3n = 3, k=2k = 2일 때의 답은 22이다.

예제2

  1. 예제 1

    입력
    3 2
    
    예상 출력
    2
    
  2. 예제 2

    입력
    4 3
    
    예상 출력
    6