第K大的数
来源:互联网 发布:php验证码图片不显示 编辑:程序博客网 时间:2024/04/28 06:10
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1105
这道题是我去年听说的,一次比赛悲剧的,前几天AC的,大体思路是二分答案,记住在统计的时候,复杂度为n,而不是nlogn,这道题复杂度为 nlog(MAX-MIN)
#include<stdio.h>#include<algorithm>#include<iostream>using namespace std;#define MAXN 51000__int64 a[MAXN],b[MAXN];__int64 n,k;__int64 Count(__int64 x){//统计小于等于x的个数,本题的一个易忽略点,容易写成nlogn __int64 ret=0; __int64 j=n-1; for(__int64 i=0;i<n;i++){ for(;j>=0;) if(b[j]*a[i]>x) j--; else break; //printf("j=%I64d\n",j); ret=ret+j+1; } return ret;}int main(){ while(scanf("%I64d%I64d",&n,&k)!=EOF){ k=n*n-k+1; for(__int64 i=0;i<n;i++)cin>>a[i]>>b[i]; sort(a,a+n);sort(b,b+n); __int64 low,mid,high,ans; low=a[0]*b[0];high=a[n-1]*b[n-1]; while(low<=high){//二分答案,本题关键思路 mid=(low+high)/2; if(Count(mid)>=k){ans=mid;high=mid-1;} else low=mid+1; } printf("%I64d\n",ans); }}
- 第K大的数
- 第k大的数
- 第k大的数
- 第K大的数
- 第k大的数
- 第K大的数
- 第K大的数
- 第K大的数
- 第K大的数
- 得到第K个大的数
- 找第k大的数
- 求第K大的数~~
- 寻找第K大的数
- 寻找第K大的数
- 寻找第K大的数
- 寻找第K大的数
- 找第K大的数
- 算法--选择第K大的数
- 判断字符串是否为IP地址
- Google使用技巧
- table 表格宽度问题
- 【转】全局变量、局部变量、静态全局变量、静态局部变量的区别
- 用wubi安装DVD版的ubuntu(以10.04为例)
- 第K大的数
- phpstorm的设置
- 如何下载土豆网的视频 视频真实地址解析
- python安装模块的方法
- 抛硬币 连续n个正面
- DNW v6.0C – For WinCE 源码
- PHP rsa密钥生成 加密解密
- ORACLE EBS重新打开关闭库存期间
- c学习笔记(4)