2018. 6. 20. 05:36, 알고리즘/BOJ
https://www.acmicpc.net/problem/2213
D1[x] : x를 root로 하는 subtree에서 x를 포함한 최대독립집합의 크기
D2[x] : x를 root로 하는 subtree에서 x를 포함하지 않는 최대독립집합의 크기으로 두면 자식들에 대해서
D1[cur] += D2[next],
D2[cur] += max(D1[next],D2[next])를 계산함으로서 DP 테이블을 채워나갈 수 있습니다.
집합을 복구해내기 위해서는 D2[cur]를 계산할 때 D1[next]가 더해졌는지 D2[next]가 더해졌는지를 저장해야 합니다.
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 15684번: 사다리 조작 (2) | 2018.06.22 |
---|---|
[BOJ] 2162번: 선분 그룹 (0) | 2018.06.21 |
[BOJ] 4225번: Trash Removal (0) | 2018.06.20 |
[BOJ] 9250번: 문자열 집합 (0) | 2018.06.17 |
[BOJ] 1080번: 행렬 (0) | 2018.06.17 |
[BOJ] 1138번: 한 줄로 서기 (0) | 2018.06.15 |
Comments