0x11-greedy.


일단 강의에서 주어진 답은, 두 배열을 모두 오름차순(기본값)으로 정렬하고 값을 함께 곱한 후,

for(int i=0; i

ans+=a(i)*b(n-1-i); 형식에서 인덱스는 배열 b( )에서 i에 따라 역방향으로 지정할 수 있도록 nii 형식으로 생성하였다.

나는 또한 이 방법이 매우 유용하다고 생각한다.

제가 사용한 첫 번째 방법은,

배열 a는 오름차순(기본 순서)으로 확인되고 배열 b는 내림차순으로 확인되며 동일한 i-인덱스 순서로 곱합니다.

이 시점에서 첫 번째 옵션은 내림차순으로 검색하는 것입니다.


이런 식으로 내가 지정한 비교를 삽입하고 기본값으로 삼고 다음과 같이 정렬을 계속했습니다.

부울 비교(int i, int j) {

제이

}

이 stl 정렬은 퀵정렬의 기본이기 때문에 그것을 지정해서 형태로 넣으면 이해하기 쉬울 텐데, 그것과 연계해서 보면 이해하기 더 쉽습니다.

처음에는 이렇게 구현했는데 그 이후에 좀 더 깔끔한 방법을 찾다가 발견한 방법입니다,

https://cocoon1787.189

(C/C++) STL 정렬 정렬 함수(오름차순, 내림차순) 샘플 코드

알고리즘 문제를 풀 때 배열이나 벡터를 내림차순으로 정렬해야 하는데 매번 찾는 걸 깜빡했어요. 정렬 기능 사용

cocoon1787.tistory.com

이 블로그에서 배운대로


이 부분에서 알 수 있듯이 “크게()”을 추가했습니다.

결국 이것도 위의 매개변수를 설정하고 적절한 순서로 정렬하는데, 이는 기본적으로 더 큰 형태의 미리 만들어진 매개변수로 간주됩니다.


따라서 사용 중에 명확하게 표시할 수 있습니다.

내림차순으로 정렬해야 하는 경우 “larger<>()”를 세 번째 인수로 전달하여 내림차순으로 정렬합니다.

곱할 수 있다면 이렇게 풀어보자.