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

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

점화식

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

요약
비내림차순을 유지하면서 주어진 분할을 모두 0으로 줄이는 감소 순서 개수를 1,000,000,009로 나눈 나머지를 구합니다.
난이도

어려움10점 중 9점

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

문제

정수 튜플 P=(P1,P2,P3,…,Pn)P = (P_1, P_2, P_3, \dots, P_n)이 주어진다. 이 튜플에 대한 함수 FF를 다음 세 규칙으로 정의한다.

PiP_i 중 하나라도 음수이거나 P1≥P2≥⋯≥PnP_1 \ge P_2 \ge \dots \ge P_n이 성립하지 않으면 F(P)=0F(P) = 0이다.

P=(0,0,…,0)P = (0, 0, \dots, 0)이면 F(P)=1F(P) = 1이다.

그 밖의 경우에는 좌표 하나를 골라 1을 뺀 튜플 nn개의 함숫값을 모두 더한다.

F(P1,P2,…,Pn)=∑k=1nF(P1,…,Pk−1,…,Pn)F(P_1, P_2, \dots, P_n) = \sum_{k=1}^{n} F(P_1, \dots, P_k - 1, \dots, P_n)

n=4n = 4인 경우를 보자. F(4,3,2,−1)F(4, 3, 2, -1)은 마지막 좌표가 음수이므로 0이다. F(4,3,2,5)F(4, 3, 2, 5)는 좌표가 큰 수부터 작은 수 순서로 놓여 있지 않으므로 0이다. F(4,3,2,1)F(4, 3, 2, 1)은 F(3,3,2,1)+F(4,2,2,1)+F(4,3,1,1)+F(4,3,2,0)F(3, 3, 2, 1) + F(4, 2, 2, 1) + F(4, 3, 1, 1) + F(4, 3, 2, 0)이다.

튜플 PP가 주어지면 F(P1,P2,…,Pn)F(P_1, P_2, \dots, P_n)을 구하라. 값이 매우 커질 수 있으므로 소수 1,000,000,009로 나눈 나머지를 출력한다.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다.

각 테스트 케이스는 두 줄이다. 첫째 줄에 nn이 주어지고, 둘째 줄에 공백 하나로 구분된 정수 nn개가 주어진다. 이 수가 튜플 PP다.

1≤n≤10001 \le n \le 1000이고 1≤Pi≤10001 \le P_i \le 1000이다. PP는 P1≥P2≥⋯≥PnP_1 \ge P_2 \ge \dots \ge P_n을 만족한다.

출력

각 테스트 케이스마다 Case #x: R 형식으로 한 줄씩 출력한다. xx는 테스트 케이스 번호이고 1부터 시작한다. RR은 F(P1,P2,…,Pn)F(P_1, P_2, \dots, P_n)을 1,000,000,009로 나눈 나머지다.

예제1

  1. 예제 1

    입력
    10
    3
    7 5 4
    6
    7 7 5 3 2 1
    2
    4 2
    3
    7 4 4
    4
    8 7 5 5
    5
    7 7 6 5 5
    2
    8 7
    3
    6 3 1
    4
    8 7 4 4
    3
    6 3 2
    
    예상 출력
    Case #1: 100100
    Case #2: 398009117
    Case #3: 9
    Case #4: 25025
    Case #5: 923714728
    Case #6: 311516464
    Case #7: 1430
    Case #8: 315
    Case #9: 41100051
    Case #10: 990