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

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

분할수

시간 제한3초메모리 제한256 MB

요약
주어진 n개의 값을 부분으로 쓸 수 없다는 조건에서 m을 비감소 양의 정수들의 합으로 나타내는 분할의 개수를 1e9+7로 나눈 나머지로 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 조합론, 수학, 정수론
정답자
아직 제출이 없습니다

문제

정수 집합 A={a1,a2,…,an}A=\{a_1,a_2,\ldots,a_n\}이 주어진다. xix_i가 양의 정수이고 x1≤x2≤…≤xkx_1 \le x_2 \le \ldots \le x_k이며 xi∉Ax_i \not \in A일 때, 방정식 x1+x2+…+xk=mx_1+x_2+\ldots+x_k=m의 해의 개수를 구하여라.

답이 매우 클 수 있으므로, 답을 (109+7)(10^9 + 7)로 나눈 나머지를 구하여라.

입력

여러 개의 테스트 케이스가 주어진다. 입력의 첫째 줄에는 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스는 다음과 같다.

첫째 줄에 두 정수 nn과 mm이 주어진다 (1≤n≤5001 \le n \le 500, n≤m≤3⋅105n \le m \le 3 \cdot 10^5).

둘째 줄에 nn개의 정수 a1,a2,…,ana_1,a_2,\ldots,a_n이 주어진다 (1≤ai≤m1 \le a_i \le m, 모든 i≠ji \ne j에 대해 ai≠aja_i \ne a_j).

모든 테스트 케이스에 대한 nn의 합은 500500을 넘지 않는다.

출력

각 테스트 케이스마다 답을 나타내는 정수를 한 줄에 출력한다.

힌트

m=4m=4이고 제한 집합 AA가 비어 있을 때 해는 55개이다. 그 해는 다음과 같다. 4=1+1+1+1=1+1+2=1+3=2+2=4\begin{aligned} 4 & = & 1+1+1+1 \\ {} & = & 1+1+2 \\ {} & = & 1+3 \\ {} & = & 2+2 \\ {} & = & 4 \end{aligned}

예제1

  1. 예제 1

    입력
    5
    1 4
    1
    1 4
    2
    1 4
    3
    3 4
    1 2 3
    4 4
    1 2 3 4
    
    예상 출력
    2
    3
    4
    1
    0