[BOJ] 14517번: 팰린드롬 갯수 구하기

https://www.acmicpc.net/problem/14517


D[i][j]를 S[i to j]의 palindrome 갯수라고 할 때

D[i][j]  = D[i+1][j] + D[i][j-1] - D[i+1][j-1] + (If S[i] == S[j], 1+D[i+1][j-1])입니다.


계속 틀려서 무엇이 문제인가 한참 헤매고 그러다가 아예 싹 갈아엎었는데, 알고보니 MOD로 나머지를 취할 때 맨 처음엔 D[st][en] = (D[st][en - 1] + D[st + 1][en] - D[st + 1][en - 1]) % MOD; 으로 두었으나, D[st][en-1]+D[st+1][en]이 Z_10007에서는 D[st+1][en-1]보다 작을 수 있어서 답이 같은 나머지를 가지는 음수가 출력되는 경우가 생겨서 틀린 것이었습니다.


https://github.com/blisstoner/BOJ/blob/master/14517.cpp

'알고리즘 > BOJ' 카테고리의 다른 글

[BOJ] 13537번: 수열과 쿼리 1  (0) 2018.07.05
[BOJ] 14438번: 수열과 쿼리 17  (0) 2018.07.05
[BOJ] 1492번: 합  (0) 2018.07.04
[BOJ] 1126번: 같은 탑  (0) 2018.07.03
[BOJ] 11409번: 열혈강호 6  (0) 2018.07.03
[BOJ] 11408번: 열혈강호 5  (0) 2018.07.03
  Comments