sung1

피보나치 - 행렬 거듭제곱으로 O(log N) 풀기

문제 조건에서 N은 1,000,000,000,000,000,000까지 주어진다. 즉, int는 물론이고 일반적인 선형 DP로도 감당하기 어려운 크기다. 게다가 결과는 1,000,000,007로 나눈 값을 출력해야 한다. 처음 이 문제를 봤을 때는 익숙한 피보나치 문제처럼 보였지만, 입력 범위를 보는 순간 평소 방식으로는 안 되겠다고 생각했다. 이 문...

다익스트라 + 우선순위큐로 특정 경유 최단경로 구하기

스터디 때 밤새 붙잡았던 문제다. “1에서 N까지 가는데 v1, v2를 모두 거쳐야 한다”는 제약이 붙으니 구현이 헷갈렸다. 직접 자바로 정리해둔 기록. 문제 세팅 양방향 가중치 그래프, 정점은 1..N 반드시 v1, v2를 모두 통과해야 하며 순서는 자유 답은 min(1→v1→v2→N, 1→v2→v1→N) 핵심 코드 가중치가 큰 입...