如题,若整体二分的代码长这样,它的复杂度是多少?
int now, qid[N], lft[N], rgh[N];
void solve(int s, int t, int l, int r) {
if(s>t || l>r) return;
if(s==t) {
for(int i=l; i<=r; ++i)
ans[qid[i]]=s;
return;
}
int lftCnt=0, rghCnt=0;
for(int i=l; i<=r; ++i) {
int id=qid[i];
if() lft[++lftCnt]=id;
else rgh[++rghCnt]=id;
}
for(int i=1; i<=lftCnt; ++i)
qid[l+i-1]=lft[i];
for(int i=1; i<=rghCnt; ++i)
qid[l+lftCnt+i-1]=rgh[i];
solve(s, mid, l, l+lftCnt-1);
solve(mid+1, t, l+lftCnt, r);
}