题目链接:

http://acm.uestc.edu.cn/#/problem/show/1087

题意:

题解:

二分枚举中位数,然后:mid为当前的中位数,找到比a[i]大mid的数(>=a[i]+mid)的个数,判断cnt是不是有总数的一半

代码:

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define MS(a) memset(a,0,sizeof(a))
#define MP make_pair
#define PB push_back
const int INF = 0x3f3f3f3f;
const ll INFLL = 0x3f3f3f3f3f3f3f3fLL;
inline ll read(){ll x=0,f=1;char ch=getchar();while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}return x*f;
}
//////////////////////////////////////////////////////////////////////////
const int maxn = 1e5+10;ll a[maxn];int main(){ll n;while(cin >> n){for(int i=0; i<n; i++)a[i] = read();ll tmp = n*(n-1)/2;sort(a,a+n);ll l=0,r=INFLL,cnt=0,ans=0;while(l<=r){ll mid = (l+r)/2;cnt = 0;for(int i=0; i<n; i++){cnt += a+n-lower_bound(a+i+1,a+n,a[i]+mid); // mid为当前的中位数,找到比a[i]大mid的数(>=a[i]+mid)的个数,判断cnt是不是有总数的一半}if(cnt <= tmp/2) // 并不知道为什么等于,对于第一个样例,M个数是1 1 1 2 2 3  按照题目的要求,中位数是1// 我猜 是当M是偶数的时候,中位数mid可能重复,所以要再往下找一个r = mid-1;elseans = mid, l = mid+1;}cout << ans << endl;}return 0;
}

cdoj1087 基爷的中位数 二分相关推荐

  1. [Leedcode][JAVA][第4题][寻找两个正序数组中的中位数][二分查找][双指针]

    [问题描述][困难] 给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n)).你可以假设 ...

  2. EOJ Monthly 2019.2 E 中位数 (二分+中位数+dag上dp)

    题意: 一张由 n 个点,m 条边构成的有向无环图.每个点有点权 Ai.QQ 小方想知道所有起点为 1 ,终点为 n 的路径中最大的中位数是多少. 一条路径的中位数指的是:一条路径有 n 个点,将这  ...

  3. 剑指offer面试题41. 数据流中的中位数(二分查找)

    题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 例 ...

  4. 解题报告 - 牛客练习赛63 C - 牛牛的揠苗助长(货仓选址+二分)

    链接:https://ac.nowcoder.com/acm/contest/5531/C 来源:牛客网 题目描述 牛牛有一块长度大小为n的菜园,他首先对这块菜园从1到n进行了编号,每一块地分别为1号 ...

  5. 机器学习系列之手把手教你实现一个分类回归树

    https://www.ibm.com/developerworks/cn/analytics/library/machine-learning-hands-on5-cart-tree/index.h ...

  6. fifo算法模拟_我是怎样学习算法的?(V1.0)

    我相信很多人都是因为找工作才去看数据结构与算法,我自己也是出于这个目的.我自己在学习数据结构和算法上走了很多弯路,原因就是没有系统地的去学习.看了很多书,刷了很多题,浪费了不少时间,所以希望看到这篇文 ...

  7. 机器学习及算法-python

    1.机器学习工作流程 1.获取数据 数据简介 在数据集中一般: 一行数据我们称为一个样本 一列数据我们成为一个特征 有些数据有目标值(标签值),有些数据没有目标值(如上表中,电影类型就是这个数据集的目 ...

  8. leetcode刷题目录总结

    题目 题目 技巧 相似的题目 其他 1. 无序数组中找出目标为target的两个数 先定义下一个数,然后找两位的数是否存在 高频, 大厂刷题班, 第27节 2.逆序链表两数相加 链表.各位加法 高频, ...

  9. 专业计算机术语中英文对照(一)

    这个世界依聪明才智的先天高下得三种人: 先知先觉得发明家,后知后觉得宣传家,不知不觉得实践家.三者之中发明家最少最珍惜,最具创造力,正是匠心独具的发明家创造了这花花绿绿的计算机世界. 任何一个地方不是 ...

最新文章

  1. 数据结构 — 哈希表
  2. 15套漂亮的 PSD 格式的图标,不一样的视觉效果
  3. VC6.0 预编译(转)
  4. 六十二、数据结构栈和队列的相互实现
  5. 4个足球队打小组单循环
  6. linux树形目录结构存放,Linux目录结构
  7. WCF并存Asp.net
  8. 51单片机c语言烧录软件,51单片机烧写程序的方法
  9. amd k14主板参数_R5 1400配什么主板好?R5-1400主板搭配与参数详解 (全文)
  10. mixly编程怎样音乐_Mixly编程之MP3模块的使用方法
  11. 你应该懂得的关于电脑配置冷知识
  12. html高难度拼图,张馨月婚后生活太悠闲,宅家挑战高难度拼图
  13. Unity3D 实现阴阳师 画符
  14. 老张和小梁的求职之旅
  15. KLOOK客路旅行基于Apache Hudi的数据湖实践
  16. android studio 电量分析,使用 Batterystats 和 Battery Historian 分析电池用量
  17. Apache APISIX 社区成员助力 openEuler 发布第一个社区创新版
  18. iOS 获取照相机实时预览图片
  19. 卷积神经网络——实例分割之Mask R-CNN论文翻译
  20. 谷歌小语种外链代发,谷歌外链购买平台哪个好?

热门文章

  1. 传奇登录器修改服务器列表,传奇登录器TCP服务器远程列表「防劫持」设置教程...
  2. 免费的视频转换软件。包括qlv全可以转
  3. 【centos7静默(无图形界面版)本地离线安装oracle11g,附带个人建议】
  4. 推荐安全且匿名的邮箱 ProtonMail -- PGP算法
  5. 如何用MATLAB绘制真值表,编写真值表 - MATLAB Simulink - MathWorks 中国
  6. 阿里获取银行卡信息接口
  7. 美术绘画之原画场景深入刻画-张聪-专题视频课程
  8. 南邮linux编程实验报告,小弟在南邮选了一门令我终生后悔的选修课:linux基础教程,考试不会了!-!...
  9. 看完南京前11年房价,我哭了!今年实在太特么狠了
  10. 第一次作业:幻想科技