그냥 하는 노트와 메모장

BOJ 2543 초고속철도 본문

Solved problems

BOJ 2543 초고속철도

coloredrabbit 2020. 5. 28. 16:50

* BOJ 2543 초고속철도

[분류: 다이나믹 프로그래밍]


[풀이]

  인접한 로봇끼리는 반드시 통신이 가능해야 한다는 점을 유심히 보자.

  만약 어떤 로봇 a가 b, c, d, w와 겹치는 상황을 생각해보자.

    1. [a에 설치하는 경우] 나머지 b,c,d,w,에 설치할 수도 있고 안할 수도 있다.

    2. [a에 설치하지 않는 경우] b,c,d,w에 모두 통신을 설치해야만 한다.


[순서도]

  1. 먼저 구간 시작 좌표를 기준으로 로봇들을 정렬하자. 정렬하는 이유는 시작 좌표가 낮은 로봇을 기준으로 설치하느냐 마느냐를 결정하여 이후에 있는 로봇에 영향을 미치는 데에 있어 계산하기 용이하기 때문이다.

  2. 오름차순으로 방문하며 현재 p번째 로봇에 대해 통신장비를 설치할지말지를 결정해야 한다.

  3. 설치한다면 p번째 로봇 이후의 로봇들에 대한 통신장비를 설치할지말지 여부에 아무런 영향을 끼치지 않는다.

  4. 설치하지 않는다면 이 로봇과 연관된 모든 로봇은 반드시 설치해야만한다. 따라서 p번째 로봇 끝 구간 이후의 로봇들은 영향을 받지않으므로 끝 구간 이후의 로봇 중 시작구간이 가장 가까운 로봇부터 다시금 부분문제를 풀면 된다.



'Solved problems' 카테고리의 다른 글

BOJ 3001 이상한 문제  (0) 2020.06.03
BOJ 16876 재미있는 숫자 게임  (0) 2020.05.28
BOJ 2888 상범 게임  (0) 2020.05.28
BOJ 4384 공평하게 팀 나누기  (1) 2020.05.26
BOJ 1410 패턴의 개수  (0) 2020.05.25
Comments