[BOJ] 13262번: 수열의 OR 점수

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


$D_{n,k} $ : n개의 수를 k개의 group으로 나누었을 때 DP 값이라고 정의한다면 $D_{n,k} = max_{j<k} (D_{n-1,j}+(C_{j+1}|C_{j+2}|...|C_k)$ 이라는 식을 얻을 수 있습니다. 이 때 $D'_{n,k} = -D_{n,k}$으로 둔다면 $D'_{n,k} = min_{j<k} (D'_{n-1,j}-(C_{j+1}|C_{j+2}|...|C_k)$ 이 되어 Divide and Conquer Optimization을 사용할 수 있습니다.


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

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

[BOJ] 1275번: 커피숍2  (0) 2018.07.27
[BOJ] 7578번: 공장  (0) 2018.07.26
[BOJ] 14177번: 티떱랜드  (0) 2018.07.26
[BOJ] 13261번: 탈옥  (0) 2018.07.26
[BOJ] 14180번: 배열의 특징  (0) 2018.07.25
[BOJ] 4008번: 특공대  (0) 2018.07.25
  Comments