[BOJ][Java] 2533. 사회망 서비스(SNS)
·
💭 Problem Solving/Java
문제https://www.acmicpc.net/problem/2533 문제 이해SNS 네트워크는 트리(사이클 없음) 로 주어진다.어떤 사람이 정보를 전달받으려면 그 사람의 이웃 중 적어도 한 명은 ‘얼리어답터’ 여야 한다.모든 사람이 정보를 전달받도록 할 때, 필요한 얼리어답터의 최소 수를 구한다.TIP: “모든 간선마다 양 끝점 중 최소 한 쪽은 선택되어야 함” 이라고 생각하면 이해하기 쉽다. 풀이 아이디어: 트리 DP루트를 1로 잡고 DFS로 트리를 내려가며 탐색한다. 상태 정의dp[0][node] : node가 얼리어답터가 아닐 때, node의 서브트리에서 필요한 최소 얼리어답터 수dp[1][node] : node가 얼리어답터일 때, node의 서브트리에서 필요한 최소 얼리어답터 수 점화식현재 정점..