[BOJ] 11504번: 가장 긴 바이토닉 부분 수열

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


D1[i] = A[i]를 포함하는 LIS의 길이(A[0] to A[i]에서 생각)


D2[i] = A[i]를 포함하는 LDS의 길이(A[i] to A[N-1]에서 생각)


라고 할 때, D1[i]+D2[i]-1의 최댓값이 구하고 싶은 문제의 답입니다.


N이 1000이라 느긋하게 N^2 알고리즘으로 LIS, LDS의 길이를 구했지만 시간제한이 빡빡했다면 세그먼트 트리나 이진탐색을 활용해 NlgN으로 LIS, LDS의 길이를 구했을 것입니다.


https://github.com/encrypted-def/BOJ/blob/master/11504.cpp

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

[BOJ] 9663번: N-Queen  (0) 2018.01.05
[BOJ] 2302번: 극장 좌석  (0) 2018.01.05
[BOJ] 1915번: 가장 큰 정사각형  (0) 2018.01.05
[BOJ] 1983번: 숫자 박스  (0) 2018.01.05
[BOJ] 1764번: 듣보잡  (0) 2018.01.05
[BOJ] 14488번: 준오는 급식충이야!!  (0) 2018.01.05
  Comments