백준 19608번 Searching for Strings
슬라이딩 윈도우의 알파벳 개수를 비교하고 해시로 중복을 걸러 애너그램 부분 문자열 세기
주제
글 11개
슬라이딩 윈도우의 알파벳 개수를 비교하고 해시로 중복을 걸러 애너그램 부분 문자열 세기
트리를 DFS로 내려가며 경로 문자열의 롤링 해시를 갱신해 패턴과 같은 경로 수 세기
롤링 해시와 이분 탐색으로 두 번 이상 나오는 부분 문자열의 최대 길이 찾기
정수 수열에 롤링 해시를 적용해 K번 이상 나오는 가장 긴 패턴 찾기, 충돌 시 직접 비교
S는 2, K는 -1로 바꾼 누적합에서 같은 값이 나오는 가장 먼 두 지점 찾기
원형 문자열을 두 번 이어 붙인 뒤 KMP로 일치하는 회전 수를 세어 확률로 바꾸기
KMP 실패 함수의 마지막 값으로 반복 단위 길이를 구해 문자열이 몇 번 반복되는지 판정하기
목표 문자열의 각 글자가 몇 개 진행됐는지 세며 순서대로 완성할 수 있는 개수 구하기
퍼즐 상태를 문자열로 바꿔 map에 이동 횟수를 저장하는 BFS로 정답 상태까지의 최단 이동 찾기
두 문자열의 접두사 쌍마다 최장 공통 부분 수열 길이를 저장하는 2차원 DP
글자를 스택에 쌓다가 끝부분이 폭발 문자열과 같으면 지워 한 번의 순회로 처리하기