为什么题解里没有折半搜索解法呢?
查看原帖
为什么题解里没有折半搜索解法呢?
1529916
_7xingyue7_楼主2025/7/21 16:11
//折半搜索解法
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=3e4+5;
int n,a[N];
ll ans;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    for(int j=2;j<n;j++){
        ll left=0;
        for(int i=1;i<j;i++)
            if(a[i]<a[j]) left++;
        ll right=0;
        for(int k=j+1;k<=n;k++)
            if(a[j]<a[k]) right++;
        ans+=left*right;
    }
    printf("%lld",ans);
    return 0;
}
2025/7/21 16:11
加载中...