avoid문제 최단 경로 관련 질문입니다.

  • sonnet
    sonnet

    1번 점에서 N번 점까지 가는 최단 경로에 속하는 점 i가 있습니다.
    그러면 i번 점을 지나는 최단 경로는 i번 점을 기준으로 최단 경로를 두 구간 1~i, i~N으로 나눌 수 있을텐데 여기서
    어떤 점 j가 i~N 구간에 속하면, j가 1~i 구간에 속할 가능성은 없는지요? 제 생각에는 가능성이 없을 것 같은데 증명을 못하겠습니다.
    혹시 가능하다면 가능한 경우를 알려주시면 감사하겠습니다.


    9년 전
5개의 댓글이 있습니다.
  • VOCList
    VOCList

    모든 간선가중치가 양수이며 양방향그래프라면 없습니다.
    D라는 배열이 있어서 D[i] = 1번점에서 i번까지 가는 최단거리를 저장하고 있다고 생각해보죠.
    이 때 D[j] > D[i]임이 자명합니다. 이유는, D[j] <= D[i]라면 i를 거쳐서 j를 찍고 N번 점으로 가는 경로가 최단이 될 수 없기 떄문입니다. i를 가지 않고 바로 j를 찍고 N으로 가면 되겠죠.
    고로 D[j] > D[i]인데, 이 경우 j란 점이 1 ~ i사이의 경로에 있으면 모순입니다.


    9년 전 link
  • Being
    Being

    i와 j를 생각하기 전에 일반적으로 양의 가중치를 가진 그래프에 대해 같은 정점을 두 번 방문하는 최단 경로가 존재할 수 없습니다. 같은 정점으로 되돌아오는 부분경로를 제거해도 올바른 경로인데 더 짧으니 모순입니다. 조금 더 확장하면 음이 아닌 가중치에 대해서도 성립합니다.


    9년 전 link
  • sonnet
    sonnet

    제가 질문을 조금 더 명확하게 했어야 하는 것 같네요.
    같은 점을 두 번 지나는 경우를 말씀드리는게 아니고
    어떤 최단경로가 1,...,i,j,...,N인 게 있을 때
    1,...,j,i,...,N인 최단경로가 존재할 수 있는지를 알고 싶습니다. ^^


    9년 전 link
  • Kureyo
    Kureyo

    그렇다면 VOCList님의 말씀이 해당질문의 대답이 되겠네요


    9년 전 link
  • sonnet
    sonnet

    감사합니다. 이제 이해가 되었습니다. 다음에도 궁금한 점이 있으면 질문드리겠습니다. ^^


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