문제
풀이
정해는 visited[i][bit]와 같이 배열을 만든 후 BFS를 돌리는 것이라고 하는데, 저는 다르게 풀어서 글을 써 봅니다.
만약에 $K$개의 보석이 있는 섬들만 있다면 bit DP로 해결할 수 있습니다.
벨만-포드 알고리즘을 응용해서 $u$에서 $v$로 들고 갈 수 있는 최대 보석의 개수를 모두 구한 다음 bit DP를 사용하면 $O(n^3 + k^22^k)$에 해결할 수 있습니다.
코드
1 | |
사실 스크류바 안먹은지 1년 넘었습니다.
정해는 visited[i][bit]와 같이 배열을 만든 후 BFS를 돌리는 것이라고 하는데, 저는 다르게 풀어서 글을 써 봅니다.
만약에 $K$개의 보석이 있는 섬들만 있다면 bit DP로 해결할 수 있습니다.
벨만-포드 알고리즘을 응용해서 $u$에서 $v$로 들고 갈 수 있는 최대 보석의 개수를 모두 구한 다음 bit DP를 사용하면 $O(n^3 + k^22^k)$에 해결할 수 있습니다.
1 | |