2018. 3. 20. 15:57, 알고리즘/BOJ
https://www.acmicpc.net/problem/1509
우선 s[i:j]가 Palindrome인지 판단하는 isPalindrome[][] 테이블을 O(N^2)만에 채웠고, 이와 더불어 s[:i]의 분할갯수를 저장하는 D 테이블을 만들었습니다. D 테이블 또한 O(N^2)으로 채울 수 있는데, 바로 아래와 같이 채우면 됩니다.
BABABA -> D[6] = min(D[6], D[5]+1)
BABABA -> D[6] = min(D[6], D[3]+1)
BABABA -> D[6] = min(D[6], D[1]+1)
https://github.com/blisstoner/BOJ/blob/master/1509.cpp
'알고리즘 > BOJ' 카테고리의 다른 글
[BOJ] 6986번: 절사평균 (0) | 2018.03.22 |
---|---|
[BOJ] 10835번: 카드게임 (4) | 2018.03.20 |
[BOJ] 11049번: 행렬 곱셈 순서 (0) | 2018.03.20 |
[BOJ] 5557번: 1학년 (0) | 2018.03.20 |
[BOJ] 1036번: 36진수 (0) | 2018.03.16 |
[BOJ] 2531번: 회전 초밥 (0) | 2018.03.15 |
Comments