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

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

Colorful Components

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

요약
n개 정점에 색이 주어질 때, 서로 다른 색을 잇는 간선을 지운 뒤 남는 같은 색 성분의 크기가 모두 k 이하가 되도록 하는 연결 그래프(라벨 트리)의 개수를 세는 문제다.
난이도

어려움10점 중 9점

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

문제

nn개의 노드가 있고, ii번째 노드의 색은 cic_i이다. 정수 kk(1≤k≤n1 \le k \le n)가 주어질 때, 다음 조건을 만족하도록 노드 사이에 정확히 n−1n - 1개의 무향 간선을 만드는 방법의 수를 구하시오.

  1. nn개의 노드가 연결 그래프를 이룬다.
  2. 서로 다른 색의 두 노드를 잇는 간선을 모두 제거하면, 남은 그래프의 모든 연결 요소는 정점이 kk개 이하이다.

두 간선 구성이 서로 다른 것은, 1≤i<j≤n1 \le i < j \le n인 두 노드 ii와 jj가 있어서 한쪽 구성에서는 두 노드 사이에 간선이 있고 다른 쪽 구성에서는 없을 때이다.

답이 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

입력

첫째 줄에 두 정수 nn과 kk가 주어진다(1≤k≤n≤3001 \le k \le n \le 300).

다음 nn개의 줄에 노드의 색을 나타내는 정수 c1,c2,…,cnc_1, c_2, \ldots, c_n이 한 줄에 하나씩 주어진다(1≤ci≤n1 \le c_i \le n).

출력

답을 109+710^9 + 7로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    5 3
    1
    1
    3
    1
    5
    
    예상 출력
    125
    
  2. 예제 2

    입력
    4 2
    2
    1
    1
    1
    
    예상 출력
    7