5525번 - IOIOI
먼저 해당 패턴에 대한 해싱을 구하고 (I는 2, O는 1로 계산), 그와 동시에 PN 문자열에 대한 해싱도 구했습니다.
그리고 PN에서 처음을 빼고, 그 다음 문자를 더하는 방법으로 푸는데... 이게 맞는건지 모르겠습니다.
m으로 나눈 나머지를 사용하다 보니, 수학적으로 푸는 게 아닌 것 같습니다.
s[0] + s[1] * p + s[2] * p^2를 구했다고 하면
s[0]을 빼고 ( = s[1] * p + s[2] * p^2 )
p로 나누고 ( = s[1] + s[2] * p )
s[3] * p^2을 더하는 ( = s[1] + s[2] * p + s[3]*p^2)
방식으로 윈도잉 했는데, p로 나누면 소수점이 나오고 그러는데... 방법좀 갈쳐주세요 ㅠㅜ
댓글을 작성하려면 로그인해야 합니다.
dhyun0601 3년 전
먼저 해당 패턴에 대한 해싱을 구하고 (I는 2, O는 1로 계산), 그와 동시에 PN 문자열에 대한 해싱도 구했습니다.
그리고 PN에서 처음을 빼고, 그 다음 문자를 더하는 방법으로 푸는데... 이게 맞는건지 모르겠습니다.
m으로 나눈 나머지를 사용하다 보니, 수학적으로 푸는 게 아닌 것 같습니다.
s[0] + s[1] * p + s[2] * p^2를 구했다고 하면
s[0]을 빼고 ( = s[1] * p + s[2] * p^2 )
p로 나누고 ( = s[1] + s[2] * p )
s[3] * p^2을 더하는 ( = s[1] + s[2] * p + s[3]*p^2)
방식으로 윈도잉 했는데, p로 나누면 소수점이 나오고 그러는데... 방법좀 갈쳐주세요 ㅠㅜ