프로그래밍에서 과거 경쟁으로 인한 한 가지 문제점을 해결하고 있으므로 도움이 필요합니다. 문제를 한 문장으로 설명합니다. 크기가 N 인 배열이 있는데, N은 10^5까지 올 수 있습니다. 그리고 두 번째 줄에는 정확히 N 개의 요소가 있습니다. 이제는 배열에서 세 요소를 선택하는 방법을 세어 순서대로 계산해야합니다. 여기에 예제가 있습니다주어진 배열에 대해 세 가지 요소의 조합을 내림차순으로 계산하십시오.
N = 4이고 배열은 190, 180, 170, 168처럼 보입니다.이 세 가지 요소를 선택하는 방법은 정확히 네 가지입니다. 1. (190, 180, 170) 2. (190,180,168) 3. (190, 170, 168) 및 (180, 170, 168)
세그먼트 트리로 해결해야한다고 생각하지만, 어떤 논쟁을 통해 내가 나무를 만들어야하는지 알지 못한다. 미리 감사드립니다.
요소가 고유합니까? – rici
당신이 항상 세 가지 요소를 선택한다는 것을 알고 있기 때문에 가장 간단한 해결책은 배열을 내림차순으로 정렬하는 것입니다. 그리고 다음 루프마다 이전 인덱스 + 1로 시작하는 등 3 개의 내장 루프를 반복합니다. 요소가 uniqe이고 실행 시간을 신경 쓰지 않는 경우에만 해당됩니다. –
모든 요소는 고유하며 N이 10^5까지 올라갈 수 있기 때문에 무차별 대입을 할 수 없습니다. (10^5)^3이 너무 많습니다 – someone12321