二分搜索 50 分悬关求助
查看原帖
二分搜索 50 分悬关求助
741244
Eason_cyx大愚若智楼主2023/8/6 20:31
#include <iostream>
#include <algorithm>
using namespace std;
int a[1005][1005];
int main() {
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int n,q; cin >> n >> q;
    for(int i = 1;i <= n;i++) {
        for(int j = 1;j <= n;j++) {
            cin >> a[i][j];
        }
        sort(a[i]+1,a[i]+n+1);
    }
    while(q--) {
        int v,cnt = 0; cin >> v;
        for(int i = 1;i <= n;i++) {
            int pos = lower_bound(a[i]+1,a[i]+n+1,v) - a[i];
            cnt += n - pos + 1;
        }
        cout << min(cnt,n) << "\n";
    }
    return 0;
}

rt,时间复杂度 O(qnlog2n)O(qnlog_2n),应该怎么优化?

2023/8/6 20:31
加载中...