만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

비행기 클리크

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

요약
도시 n개가 트리 모양으로 이어지고 거리 제한 x가 주어질 때, 모든 쌍의 거리가 x 이하인 k개 도시의 집합 수를 k마다 구합니다.
난이도

어려움10점 중 9점

유형
트리, 분할 정복, 조합론
정답자
아직 제출이 없습니다

문제

사프 워털루에는 도시가 nn개 있다. 도시들은 n−1n-1개의 무방향 항공편으로 연결되어 있어, 항공편만 이용하면 어느 도시에서든 다른 모든 도시로 갈 수 있다.

두 도시는 한 도시에서 다른 도시로 xx번 이하의 비행으로 갈 수 있으면 좋은 관계에 있다고 한다. 도시 kk개의 집합은 집합 안의 모든 도시 쌍이 좋은 관계에 있으면 친근한 집합이다.

입력

첫 줄에 정수 nn과 xx가 주어진다 (1≤n≤300 0001 \le n \le 300\,000, 0≤x≤n−10 \le x \le n-1). 다음 n−1n-1개 줄에는 항공편으로 연결된 두 도시의 번호 aa, bb (1≤a,b≤n1 \le a, b \le n)가 한 줄에 하나씩 주어진다.

출력

1,2,…,n1, 2, \ldots, n개 도시로 이루어진 친근한 집합의 개수를 nn개의 정수로 출력한다. 값은 998244353으로 나눈 나머지이다.

힌트

두 번째 예제에서 친근한 집합의 크기는 1 또는 2뿐이다. 크기가 1인 집합의 개수는 도시의 수와 같고, 크기가 2인 집합의 개수는 항공편의 수와 같다.

세 번째 예제에서는 어느 도시에서든 xx번 이하의 비행으로 다른 모든 도시에 갈 수 있다. 따라서 도시 kk개의 친근한 집합 개수는 (4k)\binom{4}{k}이다.

예제3

  1. 예제 1

    입력
    1 0
    
    예상 출력
    1
    
  2. 예제 2

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

    입력
    4 2
    1 2
    1 3
    1 4
    
    예상 출력
    4 6 4 1