https://www.acmicpc.net/problem/10835
10835번: 카드게임
첫 줄에는 한 더미의 카드의 개수를 나타내는 자연수 N(1 ≤ N ≤ 2,000)이 주어진다. 다음 줄에는 왼쪽 더미의 카드에 적힌 정수 A(1 ≤ A ≤ 2,000)가 카드 순서대로 N개 주어진다. 그 다음 줄에는 오
www.acmicpc.net
존나 어렵다
골드 DP 문제중에서 제일 어려웠던거 같다
일단 이게 랜디로 돌려서 나온거라 DP인줄도 몰랐고
태그 까도 DP테이블 짜는게 정말 어렵다
DP테이블 짜도, 또 하나의 조건을 조심해야한다
DP테이블 순회할 때, 해당 지점을 방문 했는지 유무가 필요하다
그래서 다른 풀이들을 보면 -1로 초기화하거나 아니면 아싸리 재귀를 돌리거나 한다
나는 그냥 불린배열 하나 새로 만들었다
이중 포문 두번 돌리는건 좀 아니다
DP[i][j] : 왼쪽 더미의 i번째 카드, 오른쪽 더미의 j번째 카드를 의미
DP[i+1][j] : 왼쪽 더미의 i번재 카드를 버림
DP[i][j+1] : 오른쪽 더미의 j번째 카드를 버림 ( 이건 조건 충족이 필요 )
DP[i+1][j+1] : 둘 다 버림
보다시피 DP[i+1][j], DP[i+1][j+1] 는 조건이 필요없어서 막 하면되는데
DP[i][j+1] 는 L[i]랑 R[j] 의 값 비교가 필요하다
https://github.com/KimximyaFan/Random-Defense/blob/main/C0027.java
'PS 짬통 > 골랜디' 카테고리의 다른 글
15927 회문은 회문아니야!! (0) | 2023.09.26 |
---|---|
25319 Twitch Plays VIIIbit Explorer (1) | 2023.09.25 |
14746 Closest Pair (1) | 2023.09.22 |
20444 색종이와 가 (3) | 2023.09.21 |
8981 입력숫자 (0) | 2023.09.20 |