출처 : https://www.acmicpc.net/problem/1701

정답 : https://github.com/stemp12/study/blob/master/acmicpc.net/2016.08/1707.cpp


정답 소스에 1707이라는 실수를 하였다. 그냥 넘어가야지..

암튼 이문제는 서픽스어레이를 활용한 문제이다. 물론 KMP를 써도 풀릴것 같은데 내가 해보니 참 어려웠다.

그리고 suffix array를 쓰는게 훨~ 씬 간단하게 풀린다.

하지만 아직 suffix array 구현 방법을 모르겠다 ㅠㅠ 공부중이다. 나중에 공부가 끝나면 다시 풀어봐야겠다.

내가 푼 방법은 테스트케이스가 적기 때문에 가능한 풀이법이다.

결론은 LCP를 활용하였지만, suffix array가 생명인 것이다.


그런데 찾고보니 최적의 알고리즘은 O(n)으로도 할 수 있다는데 도대체 어떤 방식인지 궁금하였다. 

암튼 이 문제도 1년이 넘는 시간만에 드디어 풀었다.

'Algorithm' 카테고리의 다른 글

[AC] 2565 전깃줄  (0) 2016.12.04
[AC] 1965 상자넣기  (0) 2016.12.04
[AC] 5397 키로거  (0) 2016.08.30
[AC] 2206 벽 부수고 이동하기  (4) 2016.08.30
[AC] 1726 로봇  (0) 2016.08.30

+ Recent posts