질문 1은 잘 모르겠습니다. 질문 2는 역시 잘 모르지만 제 추측으로는 아마 아닐 것 같습니다. 예를 들어 https://www.acmicpc.net/problem/17228이 문제는 정해가 라빈 카프고, KMP로도 풀리긴 하지만 그냥 KMP를 있는 그대로 적용해서는 안 풀립니다. 그러니까 아마 KMP가 안 되는 것도 있지 않을까요.
라빈카프가 본질적으로 확률적으로 동작하고 저격이 꽤 잘 되는 건 맞지만, 사전에 막는 건 쉽지 않습니다. birthday paradox에 안 걸리도록 가능한 해시 값을 많이 하고 데이터 만든 사람이 상상도 못한 베이스를 쓰면 저격당하지 않는 이상 높은 확률로 통과하는 걸로 압니다.
문자열은 저도 잘 몰라서... manacher 알고리즘 정도 생각나네요.
devbelly 3년 전
현재 문자열 알고리즘
접미사배열
KMP
트라이
는 공부를 한 상태이고
아호코라식
라빈카프
는 공부를 안했는데용
오늘 라빈카프를 공부하려고 글을 찬찬히 읽는데 데이터에 따라 시간초과도 날 수 있고 저격가능성도 농후 하다고 봤습니다.
질문 1. 라빈카프를 사용해야만 풀리는 문제가 있나요?
질문 2. (질문1과 비슷하지만) 라빈카프로 풀 수 있는 문제는 KMP로 다 풀 수가 있나요?
질문 3. 위 5개 말고도 공부해두면 좋을 문자열 알고리즘이 더 있나요?
이상입니다