BOJ 9250 문자열 집합 판별

BOJ 9250 문자열 집합 판별

문제 링크:

문제 내용

생략

문제 풀이

스포일러

Aho-Corasick 알고리즘의 기본 문제입니다. Needle의 집합의 문자열들의 길이의 합이 NN이고 haystack의 길이가 MM이며 그 안에 needle의 등장 횟수의 합이 KK이면, Aho-Corasick 알고리즘은 O(N+M+K)\mathcal{O} (N+M+K)에 모든 needle의 모든 등장 위치를 찾을 수 있습니다.

최악의 입력에서 KKO(NM)\mathcal{O} (NM)일 수 있지만, 이 문제에서는 하나의 needle이 발견되면 즉시 종료할 수 있으므로 KK를 뗄 수 있습니다.

Last updated on