[백준/C++] 11055번 - DP (설명 포함)

2025. 11. 5. 15:30·PS/BaekJoon

 

 

 

예시로 이해하기

i는 인덱스로 1부터 잡았고,

a[i]는 입력되는 값이다.

d[i]는 i까지 커지는 부분 수열 합의 최대 값이다.

 

i번째 숫자마다 처음부터 자기자신 (i-1)전까지 숫자를 확인하면서

자기보다 작다면 부분수열로 넣을지 말지 판단하면 되는데, 이 때 max를 이용해서 큰 수가 되도록 유지해야한다. 

 

아래 예시를 통해 한 번 이해해보자.

 

 

 

코드

#include <bits/stdc++.h>
using namespace std;

int n;
int a[1002];
int d[1002];
int main(){
    ios::sync_with_stdio(0); cin.tie(0);
    cin>>n;
    
    for (int i=0;i<n;++i) cin>>a[i];

    for (int i=0;i<n;++i){
        d[i]=a[i];
        for (int j=0;j<i;++j){
            if (a[j]<a[i]) {
                d[i]=max(d[j]+a[i],d[i]);
            }
        }   
    }
    
    cout<<*max_element(d,d+n);
}
저작자표시 비영리 변경금지 (새창열림)

'PS > BaekJoon' 카테고리의 다른 글

[백준/C++] 10844번 - DP (설명 포함)  (0) 2025.11.04
[백준/C++] 1932번 - DP  (0) 2025.10.24
[백준/C++] 2468번 - BFS  (7) 2025.08.06
'PS/BaekJoon' 카테고리의 다른 글
  • [백준/C++] 10844번 - DP (설명 포함)
  • [백준/C++] 1932번 - DP
  • [백준/C++] 2468번 - BFS
Lyv
Lyv
  • Lyv
    inimizi
    Lyv
  • 전체
    오늘
    어제
    • 분류 전체보기 (60)
      • 이것저것 도전 (5)
        • 공모전 (0)
        • 우테코 (5)
      • PS (16)
        • 삼성기출 (2)
        • LeetCode & Codility (4)
        • Programmers (6)
        • BaekJoon (4)
      • 공부기록 (33)
        • CS (16)
        • 영어 (1)
        • iOS (1)
        • 프로그래밍 언어 (0)
        • Web (4)
        • Linux (1)
        • Docker (2)
        • Network (4)
        • IaC (3)
      • 프로젝트 경험 (0)
      • DailyLog (4)
      • 취준Log (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    FastAPI
    운영체제
    우테코프리코스
    manifest
    DP
    네트워크
    스케줄링
    IAC
    c언어
    백준
    자동화
    리눅스
    til
    우테코
    os
    이미지
    공부기록
    컨테이너
    정처기실기
    프리코스회고
    PS
    ansible
    디자인패턴
    C++
    정처기
    문제풀이
    대학생
    프로그래머스
    운영체제intro
    코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Lyv
[백준/C++] 11055번 - DP (설명 포함)
상단으로

티스토리툴바