二分写的像暴力。。。求助

P1168 中位数

xiaolou @ 2018-10-03 10:12:40

https://www.luogu.org/record/show?rid=11409389//二分4059ms

https://www.luogu.org/record/show?rid=10392339//暴力4030ms。。。

40分二分:

#include <bits/stdc++.h>

using namespace std;
int a[100005];
int judge(int x,int n)
{
    int s=0,b=0;
    for(int i=1;i<=n;i++)
    {
        if(a[i]<x)
            s++;
        if(a[i]>x)
            b++;
    }
    if(s==b)
        return 0;
    if(s<b)
        return 1;
    if(s>b)
        return 2;
}
int erfen(int l,int r,int n)
{
    int mid=(l+r)/2;
    int ans=judge(mid,n);
    if(ans==0)
        return mid;
    if(ans==1)
        return erfen(mid+1,r,n);
    if(ans==2)
        return erfen(l,mid-1,n);
}

int main()
{
    int t;
    cin >> t;
    for(int i=1;i<=t;i++)
    {
        cin >> a[i];
    }
    for(int i=1;i<=t;i+=2)
    {
        int l=1,r=1000000005;
        int a=erfen(l,r,i);
        cout << a <<endl;
    }
    return 0;
} 

by flywatre @ 2018-10-03 10:16:33

哪道题?


by xiaolou @ 2018-10-03 10:20:15

P1168。。。


by 詹自龚 @ 2018-10-03 10:30:28

66666666666666666666666666666666666666666666666666666666666666666666666666666666666二分写挂


by xiaolou @ 2018-10-03 10:36:30

@王显然 我是人才


by 觞羰涙 @ 2018-12-14 19:54:56

蝶衣呢?


|