찾기 가장 끊긴 세그먼트는 얼마나 많은 선택할 수 있습니다

하나의 문제 :

N 라인 세그먼트는 선분의 ​​가장 숫자가 교차하지 않는 얻을 수있다.

아이디어 :

이것은 고전적인 문제이다. 구체적인 방법은 욕심입니다, 당신은 또한 DP 사용할 수 있습니다.

욕심 방법 : 올바른 정렬 엔드 포인트를 선택하도록 선택할 수 있습니다 프레스, 선택하지 수 없습니다. 당신이 선택할 수없는 경우 때문에, 출구의 적어도 하나 개의 세그먼트의 추가 발생합니다, 또한 오른쪽에 현재 세그먼트 세트의 오른쪽 지점을 만들고, 확실히 우수한 없습니다.

DP 연습 : 나는 세그먼트 열거 나 분리 할 필요가있다 시작점 전사 몇 개까지 선택할 F [I]의 좌표를 나타낸다.

 

질문 2 :

n 개의 선분에, 세그먼트는 상호 배타적 얼마나 많은 세그먼트 물어까지, 물론, 왼쪽 엔드 포인트가 0보다 작은 수 없습니다 수없는 하나 이하의 값의 오른쪽 끝 지점을 충족해야, 이동할 수 있습니다.

아이디어 :

우리가 정말 오랫동안 논쟁이 질문에. 마지막으로, 욕심 접근 방식의 nlog. 그리고 나는 그것이 매우 비 대한 N ^ DP 2 시공간 생각하지만 원래 제목 데이터 1E4, 또한 법적해야한다.

먼저 명백한 추론을 얻을 :이 경우 어떤 차이가 더 열등한에 대한 권리없이 남아있을 수 있기 때문에, 세그먼트 사이에 틈이 없어야합니다. 오른쪽 엔드 포인트가 그들을 정렬 증가 누르면 증가하지 않을 경우 교환이 세그먼트가 더 열등 반전하지 않기 때문에, 다음 최종 프로그램 세그먼트의 수는 증가해야합니다.

욕심 방법 : 당신이하지 않으면 키를 눌러 설정을 할 수 있습니다 현재 행의 끝 부분에 직접 적용하는 경우, 각 선분을 열거 차례에 올바른 종류의 엔드 포인트, 리턴 스택의 최대 길이를 유지 선택된 세그먼트의 현재 설정은 다음 목록에 추가 비교적 짧은 길이를 떠나, 힙 부분의 위쪽의 길이에 비교할 수 쓸어 다시 대답이 나왔다. 그것은 위의 두 가지 결론을 사용합니다.

이것은 "는 욕심에 다시 갈 수있다"입니다, 그것은 가치가 학습입니다.

DP 연습 : RIGHT 끝점, F를 [I] [j]가 시간 내가 좌표 나타내고 정렬 마지막 선분 J 얼마나 많은 횟수로 3까지에서 선택하는 방법, 폭력 N ^ j는 후면 각각 열거 고려해야 우리는 최대의 접두사를 유지할 필요가 있으므로 모든 라인은 최적화, 우리는 F [J] 케이스 [K]로 진행을 찾을 고려, 전송, 사실, F는 [I] [1 ~ K-1]를 전송한다 우리는 O1의 전송을 달성 할 수있다. 우리는 길이의 모든 세그먼트의 길이는 결합 이산 수 찾을 수 없기 때문에주의가이 방법은 분리 될 수없는, 즉, 넓은 범위의 좌표가 사용될 수없는 경우.

한 차원 DP 접두사 기록 최대 방법의 방법으로이 최적화는 보편적 인 의미를 알 필요가이어야한다.

추천

출처www.cnblogs.com/hyghb/p/12405236.html