DP 문제를 푸는 노하우가 있으신지요?...

  • mosaick
    mosaick

    DP로 풀 수 있을 것 같다라는 감은 오는데,
    적절한 optimal substructure를 쉽게 찾을 수 없습니다.
    많은 문제를 통한 경험이 중요한 걸까요?,
    뭔가 공통적으로 적용해볼만한 best practice가 있을 것 같은데...?
    혹시 자신이 터득한 노하우를 공유해주실 수 있을런지요?
    그럼, 즐거운 하루되세요~

    [이 글은 과거 홈페이지에서 이전된 글입니다. 원문보기]


    16년 전
5개의 댓글이 있습니다.
  • Neon
    Neon

    교과서적인 풀이가 제일 기본이죠. 수학적으로 왜 이게 optimal한 답을 내놓는가? 를 몇번 증명해보시면 좋을것 같습니다.


    16년 전 link
  • nocut98
    nocut98

    오마이갓- 오늘 10시라고 써놓고 집에 가서 할려고 일찍 퇴근해서 저번에 참가 못한 거 연습이나 해야지...하고 있었는데
    결국 2회 연속 불참이 되어버렸군요. 털썩....(꾸준히 해도 오를까 말까 할텐데...)


    16년 전 link
  • mosaick
    mosaick

    미처 생각지 못했던 부분이네요. ^^
    답변 감사합니다.


    16년 전 link
  • JongMan
    JongMan

    몇달 지난 답변.. ^^;;
    사실, 동적 계획법 문제들은 본질적으로 분할 정복 문제들이에요. 분할 정복이라 하면, 사실상 패턴이 있을 수 밖에 없죠.. ^^ 예를 들면, n개의 element 가 있다면, 마지막 n개째와 나머지 n-1 개로 나눈다던지, n/2 개씩으로 반반 나눈다던지.. 이런 식이죠.
    Unordered 인 것들을 ordered 인 것으로 만든다거나, 2^n 지수시간 동적계획법 같은 것도 흔한 패턴인데, 이런 것들은 문제를 풀어가면서 배우셔야 할 것이고.. 사실 가장 좋은 방법은 수단 방법을 가리지 않고 문제를 풀어가면서 (다른 사람 솔루션을 보고 짜더라도) 이들을 자기 나름대로 카테고라이즈하고 정리하는 것이죠.. ^^
    아.. 이런 글 쓰고 있다 보니 원고 써야겠단 생각이 다시... -_-;;;;


    16년 전 link
  • mosaick
    mosaick

    아... 답변 감사합니다... ^-^ 결국 문제 푸는 법은 문제를 풀어봄으로써 배우는 거군요.


    16년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.