155번 원주율 외우기
에 일단 DP로 접근해보려고 몇가지 성질을 봤는데..
숫자들이 무조건 3자리, 4자리, 5자리 셋중에 하나의 덩이로 묶이는 성질로 재귀식을 짜봤는데요..
1. S[i][j] : i번째부터 j번째 숫자까지의 수열 ( n 자리 수열이 입력으로 주어진다면 전체수열은 S[1][n])
2. S[i][j]의 최적해 : A[i]j
라고 두고
S[i][j] = min ( A[i][i+2] + S[i+3][j]
A[i][i+3] + S[i+4][j]
A[i][i+4] + S[i+5][j] ) 라는 식을 세워봤습니다
대충 살펴보면 각각의 step 마다 3가지의 선택이 존재하고 하나의 선택을 할때마다 부분문제를 하나씩 만들어내니까..
bottom up으로 쭉 훑어버리면 O(n²)이 나올것이다!! 라는 생각을 하고
제한시간을 살펴보니 1000ms 이네요 -_-;
하루종일 이면지 붙잡고 끄적여봐도 이거이상나오는 아이디어는 생각나질 않고..
항상 지수공간을 요구하는 문제에서 제한시간까지 조여오면 이렇게 틀어막히네요 ;;
염치불구하고 힌트 좀 부탁드리겠습니다 (-- a
데구킹
155번 원주율 외우기
에 일단 DP로 접근해보려고 몇가지 성질을 봤는데..
숫자들이 무조건 3자리, 4자리, 5자리 셋중에 하나의 덩이로 묶이는 성질로 재귀식을 짜봤는데요..
1. S[i][j] : i번째부터 j번째 숫자까지의 수열 ( n 자리 수열이 입력으로 주어진다면 전체수열은 S[1][n])
2. S[i][j]의 최적해 : A[i]j
라고 두고
S[i][j] = min ( A[i][i+2] + S[i+3][j]
A[i][i+3] + S[i+4][j]
A[i][i+4] + S[i+5][j] ) 라는 식을 세워봤습니다
대충 살펴보면 각각의 step 마다 3가지의 선택이 존재하고 하나의 선택을 할때마다 부분문제를 하나씩 만들어내니까..
bottom up으로 쭉 훑어버리면 O(n²)이 나올것이다!! 라는 생각을 하고
제한시간을 살펴보니 1000ms 이네요 -_-;
하루종일 이면지 붙잡고 끄적여봐도 이거이상나오는 아이디어는 생각나질 않고..
항상 지수공간을 요구하는 문제에서 제한시간까지 조여오면 이렇게 틀어막히네요 ;;
염치불구하고 힌트 좀 부탁드리겠습니다 (-- a
14년 전