만드는 중입니다

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

September

면접 대비

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

요약
루트가 있는 트리에서 M개의 삭제 기록이 주어질 때, 모든 기록이 날마다 떨어진 잎의 집합에 동의하는 최대 날짜 수 K를 구합니다.
난이도

보통10점 중 5점

유형
트리, 배열, 구현
정답자
아직 제출이 없습니다

문제

항저우 중심 광장에는 유명한 고목이 있다. 이 나무는 노드 NN개로 이루어진 뿌리 달린 트리로 볼 수 있으며, 노드는 00부터 N−1N - 1까지 번호가 붙고 뿌리는 노드 00이다.

자식이 없는 노드를 리프 노드라고 한다. 고목은 잎을 떨굴 때마다 그 시점에 존재하는 리프 노드 하나를 골라 삭제한다. 같은 날에 여러 번 잎을 떨굴 수도 있다.

00부터 M−1M - 1까지 번호가 붙은 자원봉사자 MM명이 이 고목을 지킨다. 각자 독립적으로 다음 방법에 따라 올해의 낙엽 상황을 기록한다.

매일 그날 떨어진 잎들의 번호를 모두 모아, 이전 날의 기록 뒤에 어떤 순서로든 이어서 적는다.

예를 들어 첫째 날 잎 33과 44가 떨어지면 3,43, 4 또는 4,34, 3으로 적는다. 둘째 날 잎 11과 22가 떨어지면 1,21, 2 또는 2,12, 1을 이어서 적는다. 최종 기록은 (3,4,1,2)(3, 4, 1, 2), (4,3,1,2)(4, 3, 1, 2), (3,4,2,1)(3, 4, 2, 1), (4,3,2,1)(4, 3, 2, 1) 중 하나가 될 수 있다.

이 과정은 매일 새로 떨어진 잎이 있는 상태로 KK일 동안 계속되며, 뿌리 노드만 남으면 끝난다.

겨울에 항저우를 여행하고 있다. 앙상한 고목의 가지를 올려다보니 잎이 떨어지는 아름다운 풍경이 떠오른다. 올해 잎이 며칠이나 떨어지는 것을 볼 수 있었는지 알고 싶은데, 가진 것은 MM명의 자원봉사자가 남긴 기록뿐이다. 이 기록으로부터 가능한 KK의 최댓값을 구하라.

제한

  • 2≤N≤1052 ≤ N ≤ 10^5.
  • 1≤M≤51 ≤ M ≤ 5.
  • ∑NM≤8×105\sum NM ≤ 8 \times 10^5.
  • F[0]=−1F[0] = -1. 1≤i≤N−11 ≤ i ≤ N - 1인 각 ii에 대해 0≤F[i]≤i−10 ≤ F[i] ≤ i - 1이다.
  • 1≤i≤M−11 ≤ i ≤ M - 1인 각 ii에 대해 배열 S[i]S[i]는 1,2,…,N−11, 2, \dots, N - 1의 순열이다.
  • FF는 노드 00을 뿌리로 하는 뿌리 달린 트리를 나타냄이 보장된다.

예제1

  1. 예제 1

    입력
    2 1
    -1 0
    1
    
    예상 출력
    1