1647번 - 도시 분할 계획
아마 관련 질문글이 있을 것으로 예상은 되는데요.
이 문제는 뭔가 MST로 풀어야 한다는 전제조건을 아는 사람만 해결할 수 있는 문제인 것으로 보입니다.
다른 분들 풀이 보면 대부분 MST에서 마지막 최대 간선 수치 하나를 제외한 나머지 값을 더한 결과가 답이라고 하는데요.
만약, 마지막 최대 간선 수치를 가진 정점이 바로 앞 정점과 연결되어있다는 가정을 해보면 MST 결과에서 총 두 개의 결과를 뺀 나머지 값의 합이 됩니다.
이런 식으로 생각하면 답이 오히려 처음 최소 간선 하나만 더한 값이 답이 될 수도 있는 사태가 발생하는데...
문제 자체의 조건을 좀 명확하게 제시해주시면 감사하겠습니다...
혹시라도 제가 잘못 이해하는 부분이 있다면 아래 댓글 달아주세요
트리에서 간선을 하나 지우면 항상 두 개의 트리로 분할됩니다.
혹시 문제에서
마을을 분할할 때는 각 분리된 마을 안에 집들이 서로 연결되도록 분할해야 한다. 각 분리된 마을 안에 있는 임의의 두 집 사이에 경로가 항상 존재해야 한다는 뜻이다.
이 조건 때문에 항상 마지막 최대 경로 하나를 제외한 나머지 그래프들의 합이 최소가 될 수밖에 없는건가요?
네. 두 개의 “연결된” 그래프로 나누어야 하기 때문입니다.
넵 친절한 답변 감사합니다 제가 간과했던 부분 잘 짚어주셨습니다!
댓글을 작성하려면 로그인해야 합니다.
luok377 2년 전
아마 관련 질문글이 있을 것으로 예상은 되는데요.
이 문제는 뭔가 MST로 풀어야 한다는 전제조건을 아는 사람만 해결할 수 있는 문제인 것으로 보입니다.
다른 분들 풀이 보면 대부분 MST에서 마지막 최대 간선 수치 하나를 제외한 나머지 값을 더한 결과가 답이라고 하는데요.
만약, 마지막 최대 간선 수치를 가진 정점이 바로 앞 정점과 연결되어있다는 가정을 해보면 MST 결과에서 총 두 개의 결과를 뺀 나머지 값의 합이 됩니다.
이런 식으로 생각하면 답이 오히려 처음 최소 간선 하나만 더한 값이 답이 될 수도 있는 사태가 발생하는데...
문제 자체의 조건을 좀 명확하게 제시해주시면 감사하겠습니다...
혹시라도 제가 잘못 이해하는 부분이 있다면 아래 댓글 달아주세요