오프라인쿼리 제곱근 분할법으로 정렬하는거 있잖어
bool cmp(query & x,query & y){
if(x.i/sqrtn!=y.i/sqrtn){
return x.i/sqrtn < y.i/sqrtn;
}
return x.j<y.j;
}
이런식으로..
이게 왜 최적의 시간효율?을 내는 정렬기준인지 이해가 안가..
형님들은 어떻게 이해 하셨나요..
오프라인쿼리 제곱근 분할법으로 정렬하는거 있잖어
이런식으로..
이게 왜 최적의 시간효율?을 내는 정렬기준인지 이해가 안가..
형님들은 어떻게 이해 하셨나요..
삼소멤 블로그에 설명 있음
감사합니다
x가 같은 그룹으로 이동하는거면 y가 증가하는 순으로 O(N)이고 그룹이 sqrtN 개, x가 다른 그룹으로 이동하는거면 O(N)인데 sqrtN번 대충 이런 느낌인데
이게 안정적인?..그런 정렬방식인거겠죠?..뉴비라 말을좀이상하게합니다ㅠ
https://justicehui.github.io/hard-algorithm/2019/06/17/MoAlgorithm/
감사해요..!
기하평균같이 곱해서 N인 두 수의 최댓값을 최소화시킨다고 생각하면 편하더라