상세 컨텐츠

본문 제목

[백준][BOJ2565] 전깃줄

Algorithm/LIS

by bedamino 2021. 8. 17. 22:38

본문

1. 문제 : https://www.acmicpc.net/problem/2565

 

2565번: 전깃줄

첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는

www.acmicpc.net


2. 풀이 : Binary Search


3. 설명

그림[1]

그림[1]과 같이 3개의 전깃줄을 제거하였을 때, 남아있는 모든 전깃줄이 교차하지 않음을 확인할 수 있다. 

전봇대A를 기준으로 위치 1부터 10까지 차례대로 전깃줄을 연결하였을 때, 연결되는 전봇대 B의 위치 순서는 그림[2]와 같으며, 교차하지 않는 전깃줄은 최대 증가수열임을 알 수 있다.

그림[2]

마찬가지로, 전봇대 B를 기준으로 위치 1부터 10까지 차례대로 연결되는 전봇대 A의 위치 순서는 그림[3]과 같으며, 교차하지 않는 전깃줄은 최대 증가수열임을 알 수 있다.

그림[3]

따라서, A 또는 B 전봇대를 기준으로 잡았을 때 얻을 수 있는 최대 증가수열의 개수를 모든 전깃줄 수에서 뺀 나머지가 최소로 제거해야 할 전깃줄 수이다.


4. 코드

'Algorithm > LIS' 카테고리의 다른 글

[백준][BOJ1965] 상자넣기  (0) 2021.08.09

관련글 더보기

댓글 영역