helios789789   3년 전

그래프 (트리) DP 에서 유사한 문제는 많이 보셨을 거라고 생각됩니다.

독립 집합의 합을 구하는 것은 쉬우니 독립 집합에 속해있는 정점들을 구하는 부분에 대한 힌트입니다.

트리를 DFS로 순회할때, 현재 정점을 최대 독립 집합에 속하는 정점이라고 판단할 수 있는 기준은 다음과 같습니다.

1. DFS 순회 순서 상 에서 바로 전에 방문된 정점이 최대 독립 집합에 속하지 않음

2. cache[here][true] > cache[here][false]  // 현재 집합을 독립집합에 포함하는것 이 포함하지 않는 경우보다 더 큰 독립 집합을 얻을 수 있음

2번 조건만 포함해서 최대 독립 집합에 속하는 정점을 구하니 틀리다고 나오고, 독립집합의 정의대로 1번 조건을 추가시켜주니 통과했네요

댓글을 작성하려면 로그인해야 합니다.