麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

POJ 3579 Median(2次二分)

2019-11-10 19:18:52
字體:
供稿:網(wǎng)友

Given N numbers, X1,X2, ... , XN, let us calculate the difference of every pair of numbers: ∣Xi- Xj∣ (1 ≤ i j N). We can get C(N,2) differences through this work, and now your task is to find the median of the differences as quickly as you can!

Note in this PRoblem, the median is defined as the (m/2)-th  smallest number ifm,the amount of the differences, is even. For example, you have to find the third smallest one in the case ofm = 6.

Input

The input consists of several test cases.In each test case, N will be given in the first line. Then N numbers are given, representingX1, X2, ... ,XN, ( Xi≤ 1,000,000,000  3 ≤ N ≤ 1,00,000 )

Output

For each test case, output the median in a separate line.

Sample Input
41 3 2 431 10 2Sample Output
18

  思路:本題直接使用暴力法,時間復(fù)雜度約為n^2,超時,所以采用二分法。

  先把差值分出來,再用二分法驗證差值是否符合要求。

#include<algorithm>#include<cstdio>#include<cstdlib>using namespace std;int n,m;int str[100005];int judge(int mid){   int cnt=0;    for(int i=0;i<n;i++)    {        cnt+=n-(lower_bound(str,str+n,str[i]+mid)-str);//C++中STL的查找函數(shù)
    }    return cnt>m?1:0;}int main(){   //freopen("e://in.txt","r",stdin);    while(scanf("%d",&n)==1)    {     m=n*(n-1)/4;         for(int i=0;i<n;i++)          scanf("%d",&str[i]);          sort(str,str+n);          int left=0,right=str[n-1]+str[0],mid;          while(left<=right)          {              mid=(left+right)/2;              if(judge(mid))                left=mid+1;              else                right=mid-1;          }          printf("%d/n",left-1);    }    return 0;}

總結(jié):lower_bound函數(shù)的引用

 


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 亚洲成人国产 | 欧美黄一级 | xxxxhd73国产| 亚洲第一综合 | 天天夜碰日日摸日日澡性色av | 久久精品视频3 | 自拍偷拍亚洲图片 | 亚洲小视频在线播放 | 午夜视频播放 | 狠狠婷婷综合久久久久久妖精 | 中文区中文字幕免费看 | 午夜精品久久久久久久久久久久久蜜桃 | 国产精品成人一区二区三区吃奶 | 久久99久久98精品免观看软件 | 91精品视频免费 | 免费高潮在线国 | 久久免费视频一区 | 成人午夜毛片 | 精品中文字幕久久久久四十五十骆 | 国产免费观看一区二区三区 | 男女生羞羞视频网站在线观看 | 中文字幕爱爱视频 | 成人免费福利视频 | 亚洲精品午夜国产va久久成人 | 久章草影院 | 伊人成人免费视频 | 2019天天干夜夜操 | 日韩精品无码一区二区三区 | av国产片 | 91午夜免费视频 | 色屁屁xxxxⅹ在线视频 | 亚洲视频在线一区二区 | 精品一区二区三区免费毛片 | 欧美一级二级毛片视频 | 久久久一区二区三区四区 | 美女视频黄a视频免费全过程 | 影视免费观看 | 久久丝袜脚交足黄网站免费 | 草莓福利视频在线观看 | 欧日一级片 | 久色亚洲|