R00430
서로 다른 부분 문자열
레이팅
의견: 0
설명
문자열 \(S\)가 주어진다. \(S\)의 서로 다른 (연속) 부분 문자열의 개수를 구하라. 빈 문자열은 세지 않는다.
접미사 배열과 LCP 배열을 이용하면 효율적으로 풀 수 있다.
제약
\(1 \le |S| \le 200000\)
입력 형식
첫 줄에 영소문자로만 이루어진 문자열 \(S\).
출력 형식
서로 다른 부분 문자열의 개수를 한 줄에 출력한다.
예제 1
입력
ababa
출력
9설명
부분 문자열은 a, b, ab, ba, aba, bab, abab, baba, ababa 의 9개. 중복(예: 여러 번 등장하는 a, ab 등)은 한 번만 센다.
예제 2
입력
aaaa
출력
4설명
서로 다른 부분 문자열은 a, aa, aaa, aaaa 의 4개뿐이다.
문제 정보
riseoj 작성
출처 Original
태그
평가 및 의견
서로 다른 부분 문자열
개요
Log in to rate problems.
개별 의견
아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.
풀이 제출
서로 다른 부분 문자열
게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다.
로그인하고 제출하기