DP + 비트마스킹으로 풀었는데 괜찮나?
배열 크기 (1<<13 * 2000) = 약 1600만이길래 메모리 괜찮을 거 같아서 했는데
해당 댓글은 삭제되었습니다.
dp(현재 위치, 갖고 있는 숫자들) = 1 + min(합을 갖는 경우, 쪼개서 갖는 경우, 그냥 넘어가는 경우)
대충 이런 식으로 했는데 이렇게 설명하면 알아들을 수 있을라나...
1. 굴린 주사위 합을 갖는 경우 2. 굴린 주사위를 쪼개서 갖는 경우(합//2+1 까지 반복문 돌림) 3. 안 갖는 경우 위 경우에 대해서 재귀 호출했는데??
비트마스킹 하는 이유가 뭔데 너
현재 갖고 있는 숫자들 처리해주려고 12개짜리 필드 만들어서 처리해줌
숫자가 1부터 12까지니까
그럼 dp 하는 이유는??
브루트포스로 완탐해서 풀면 윗댓에서 말한 경우의 수로 쪼개지니까 (현재 갖고 있는 숫자)를 저장할 필요가 있잖아
해당 댓글은 삭제되었습니다.
dp(현재 위치, 갖고 있는 숫자들) = 1 + min(합을 갖는 경우, 쪼개서 갖는 경우, 그냥 넘어가는 경우)
대충 이런 식으로 했는데 이렇게 설명하면 알아들을 수 있을라나...
1. 굴린 주사위 합을 갖는 경우 2. 굴린 주사위를 쪼개서 갖는 경우(합//2+1 까지 반복문 돌림) 3. 안 갖는 경우 위 경우에 대해서 재귀 호출했는데??
비트마스킹 하는 이유가 뭔데 너
현재 갖고 있는 숫자들 처리해주려고 12개짜리 필드 만들어서 처리해줌
숫자가 1부터 12까지니까
그럼 dp 하는 이유는??
브루트포스로 완탐해서 풀면 윗댓에서 말한 경우의 수로 쪼개지니까 (현재 갖고 있는 숫자)를 저장할 필요가 있잖아