p_ce1052   4년 전

이 문제에 처음 생각한 해결법은 L/G를 소인수분해한 후 소인수들을 두 서로소 집합으로 나누는 것이었는데 합이 최소가 되는 경우로 나눠갖는 방법을 생각해내지 못해서 결국 L/G의 제곱근에서 내려오면서 찾는 방식을 사용하였습니다. 원래의 풀이로 푸는 방법이 있는지 궁금한데 소인수들이 있을 때, 합을 최소로 하도록 소인수 서로소 집합으로 나누는 방법이 있을까요?

sait2000   4년 전

약수를 다 만들어보는 방법이 있긴 합니다. 정확히 말하자면 그냥 약수가 아니고 유니타리 약수이긴 한데. 아무튼 우아한 방법은 잘 모르겠습니다. 어차피 소인수분해를 하셨다면 제곱근까지는 확인을 했을 테니까 시간복잡도는 큰 문제가 안 된다고 생각합니다.

tjdgnsqn3   1년 전

https://www.acmicpc.net/source...

다 해보는 방법이 있군요.. 저도 비슷하게 접근했다가 삽질해서 공유드립니다

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