POJ3579 Median(二分答案 + O(N)判定)
来源:互联网 发布:seo推广是什么 编辑:程序博客网 时间:2024/05/17 08:16
出处:http://blog.csdn.net/gengmingrui/article/details/47671265
传送门
大意:给出
因为
首先同样将数组排序(我们命名为a数组好了)
我们枚举一个区间
上代码:
#include <cstdio>#include <algorithm>long long n, a[100005];int main(){ long long i, j; while(~scanf("%I64d", &n)) { for(i = 1; i <= n; i ++) scanf("%I64d", a + i); std::sort(a + 1, a + n + 1); long long l = 0, r = a[n], mid, m = (n-1)*n/4, num; if((n*(n-1)/2)&1) m ++; if(n == 1) { printf("0\n"); continue; } while(l < r) { mid = (l + r) >> 1; j = 1; num = 0; for(i = 2; i <= n; i ++) { while(a[i] - a[j] > mid) j ++; num += (i-j); } if(num >= m) r = mid; else l = mid + 1; } printf("%I64d\n", l); } return 0;}
阅读全文
0 0
- POJ3579 Median(二分答案 + O(N)判定)
- POJ3579 Median(二分答案 + O(N)判定)
- POJ3579 Median(二分查找)
- poj3579 Median 二分
- POJ3579:Median(二分)
- POJ3579--Median(二分)
- POJ3579 二分判定+二分查找
- POJ3579 Median —— 二分
- poj3579,二分找答案,再二分查找
- POJ3579--Median
- poj3579 Median
- POJ3579-Median
- POJ3579-Median
- poj3579 Median (二分-查找第K大的值)
- poj3579 二分
- POJ3579 二分
- 【二分答案nlogn/标解O(n)】【UVA1121】Subsequence
- [AtCoder2165]Median Pyramid Hard 二分答案
- springcloud配置中心使用github作为文件存放地址
- 在线代码格式化
- js获取高度和html自适应高度
- WSpot
- 数据库连接错误集锦A ResourcePool could not acquire a resource from its primary factory or source
- POJ3579 Median(二分答案 + O(N)判定)
- [AirFlow]AirFlow使用指南二 DAG定义文件
- linux平台vim配置+ctags工具使用
- 迭代器模式
- 程序员面试宝典 C14字符串 14.2 字符串数组和strcpy
- C++历程图
- 各种样式的进度条下载
- 使用VS2015创建纯C动态库。
- terminal 分屏