pianop   2년 전

9% 정도에서 틀립니다.

트리의 꼭대기를 1로 고정하고   1 위에 있는 가상의 0, 0위의 가상의 N + 1 을 두었습니다. (재귀, 하향식)

시작 지점(now)은 0과 N+1으로 두번 탐색했고, 탐색 방식은 자신으로부터 거리2인 자녀(b)의 DP와 b의 자녀(c)들의 DP의 합 중 큰 값을 DP[now]+=형식으로 더해나갔습니다. 여기서 거리 2인 자녀의 DP가 컸다면 b를 now의 자녀벡터에 push_back해주었고 3인 자녀가 컸다면 그들 전부를 now의 자녀 벡터의 뒤에 그대로 붙여주는 식으로 탐색을 시켰습니다.

트리도 그려보고인터넷을 뒤지며 TC를 찾아도(전부 잘 됨) 무엇이 문제인지 못 찾겠어서 질문을 올려봅니다ㅠㅠ 도와주세요!

pianop   2년 전

반례 하나 찾았습니다..!

6
10 1 1 1 10 10
1 2
2 3
3 4
4 5
3 6

// Answer : 30
// Output : 21

1949 우수마을에서 역추적이 추가된 문제이니 다들 참고하시면 좋을 것 같아요!

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