문제
백준 11478
설명
주어진 입력의 크기가 작아서 BruteForce 로도 풀리지만 LCP Array 를 응용한 방법을 기록한다.
ababc
의 Suffix 와 그에 따른 Prefix 는 다음과 같다.
ababc
ababc
abab
aba
ab
a
abc
abc
ab
a
babc
babc
bab
ba
b
bc
bc
b
c
c
여기서 ababc
와 abc
에서 Longest Common Prefix 의 크기만큼 Prefix 가 중복됨에 주목하자.
위를 통해 모든 부분문자열의 갯수에서 lcp 의 값들을 빼주면 정답임을 유추할 수 있다.
시간 복잡도
O(\(\mathrm{N}\log{\mathrm{N}}\))
코드
댓글남기기