저는 행렬로 안 풀어서 모르겠지만 ZZ(i, k + 1) = ZZ(i, k) + ZZ(i - 1, k + 1)로 식을 세울 수 있지 않을까요
9341번 - ZZ
생각한다고 떠오르지 않고 모르는 영역임을 인정하고 포기하기 직전 마지막으로 점화식을 세워봤습니다.
왜 합 구하기와 비슷하다고 했는지 알았습니다
점화식이 똑같이 나왔습니다.
하지만 저대로 대입하면 답은 나오지 않습니다
아마 c, d만 이용하고 a,b를 사용하지 않아서 그런 것 같은데 a,b를 초기값으로 어딘가에 줘야할 것 같은데
제 생각에는 당연히 저 ZZ(0,n) 부분일 것 같습니다. 피보나치 형식이기에 값을 구해보았지만 어디에 대입해야 할지 모르겠습니다.ㅠㅠ
제발 도와주세요 오늘하루 이문제만 파고있는데.. 익숙치 않은 영역이라 답으로 도달하는데 도움이 필요합니다
저 점화식이 맞다면 코드는 다 짰습니다 a,b를 어떻게 이용해야 하나요!??!?!?!
오!! 말씀하신대로 점화식을 세워보니 답이 거의 나왔습니다!! 감사합니다
제가 세운건 아예 답에 근접하지 못하는데 왜 이 점화식은 답이 나오는 건가요? 무슨 차이인지 모르겠습니다
n이 증가하는 형식으로 세워야해서그런건가요?? 합 구하기에서는 모두 똑같은 n이기에 저도 그렇게한거였는데..
그런데 이 점화식으로 행렬을 출력해보면 예제의 1~4는 제대로나오는데 5는 나오지 않습니다. a,b를 아직 사용하지 않아서 그런것 같은데
어디에 대입해야하나요?? 피보나치로 구한 값을 그림의 맨 오른쪽 행렬의 ZZ(0,N-1), ZZ(0,N)에 넣어야 할 것 같은데 답이 나오질 않습니다
지금 폰이라서 길게는 못 적는데 배열을 한 번 곱하면 인덱스가 1 커지게 해야 이 풀이가 의미가 생깁니다. 그래야 똑같은 행렬을 계속 곱해가며 다음 상태를 구할 수 있는거고 계속 똑같은 행렬이니까 행렬 거듭제곱을 할 수 있는 겁니다. 그러면 초기상태, 즉 n=0이든 1이든 맨 처음에 알고있는 상태가 있을 거 아니에요. 그러니까 이 문제면 ZZ(0, 0) ZZ(0, 1) ZZ(1, 1) ZZ(2, 1)...은 이미 값을 알잖아요. 여기에다가 저 행렬의 d-1제곱을 곱하면 ZZ(0, d-1) ZZ(0, d) ZZ(1, d) ZZ(2, d)...가 되는 거죠
80번 줄에 SIZE-1같은데요. 그리고 저렇게 하면 a>b이면 나머지가 음수로 계산될 수 있어요
http://boj.kr/7abae411badf4db6...
그거 두 개 고쳐서 맞았습니다 받았네요
나머지 부분은 염두하고있었는데 80번째 줄을 바보같이했었네요...
코앞까지 와놓고 생쇼하고있었네요 ㅠㅠ 정말 감사합니다!! 그림을 하도 그려서 비교하느라 SIZE-2로 헷갈렸었나봐요..
온몸에 전율이 흘렀습니다
많은 것을 배워갑니다 감사합니다
초기값을 줘야하는 경우 n-1번 행렬 곱셈후 초기값 행렬을 곱하는 부분, 이제 확실히 처리할 수 있겠네요 감사합니다.
다시생각해보면 고등학교때 해본것같은데 절대 안떠올랐네요
그런데 궁금한점이있습니다! 이 문제의 경우 점화식이 다양한 형식이 나올수 있을텐데
sait2000님께서는 파랑색 ㄴ 과같은 모양으로 점화식을 구하셨는데 그 이유가 초기값 a,b가 모두 포함하기 좋은 모양이라 그러신건가요??
저는 (0,0)에 b-a를 추가하면 d가 1일때 (0,-1)이 없이 어쩌지.. 했는데 테스트해보니 d가 1이면 단위행렬과 곱해져서 잘 처리가되더군요 ㅠㅠ 소름
그래서 제가 생각한건 저 빨강색으로 ㄴ을 뒤집은 모양인데, 정확히는 (0,1)은 건너뛰고 구하게되면 행렬이 구해지길래 대입해서 테스트해보면 답이 안나오더군요..
점화식을 구하는데에 고려할 점이 있는 것인가요?? 어떻게 세우시게된건가요??
댓글을 작성하려면 로그인해야 합니다.
dlftls38 4년 전 1
Ries 마법의 수퍼마리오 님의 블로그를 보며 공부하고있습니다.
http://blog.naver.com/PostView.nhn?blogId=kks227&logNo=221383409543&parentCategoryNo=&categoryNo=299&viewDate=&isShowPopularPosts=false&from=postView
이 블로그에서 동적계획법 DP문제를 행렬 곱셈을 통해 n이 상당히 클 때 푸는 법을 공부하고있습니다.
저 사이트에 있는 피보나치 수3, 정수수열, 본대산책, 합 구하기 등등 다 풀었는데
마지막 ZZ문제를 못풀고있습니다. 합 구하기 문제와 비슷하다고 하셨는데 상당히 비슷함을 느끼고 있습니다.
아직 점화식을 구해 행렬에 넣는것이 미숙해 이 문제에서 헤매고있습니다.
문제에서 주어진 점화식 말고는 아무리해도 못구하겠습니다.
합 구하기 문제와 같은 점화식 방식으로하면 n마다 더해야하는 값이 달라져서 행렬에 어떤 점화식으로 넣어야 할지 모르겠습니다..
점화식을 어떻게 구해야할까요??!!!
코드는 점화식부분을 못채웠습니다.. SIZE도 어떻게 정할지 모르겠고..ㅠㅠ