ACdream 1099 瑶瑶的第K大
2015-09-28 20:25
387 查看
题目链接:点击打开链接
题意:求数组第k大的元素,直接排序会超时的,get到 nth_element 这个函数
nth_element 用法:
nth_element(start, start+n, end)
使第n大元素处于第n位置(从0开始,其位置是下标为n的元素),并且比这个元素小的元素都排在这个元素之前,比这个元素大的元素都排在这个元素之后,但不能保证他们是有序的,原理类似快速排序吧。
代码:
题意:求数组第k大的元素,直接排序会超时的,get到 nth_element 这个函数
nth_element 用法:
nth_element(start, start+n, end)
使第n大元素处于第n位置(从0开始,其位置是下标为n的元素),并且比这个元素小的元素都排在这个元素之前,比这个元素大的元素都排在这个元素之后,但不能保证他们是有序的,原理类似快速排序吧。
代码:
#include <iostream> #include <stdio.h> #include <string> #include <string.h> #include <cmath> #include <queue> #include <vector> #include <map> #include <set> #include <algorithm> using namespace std; int a[5001000]; int n, k; int main() { while (scanf("%d%d",&n,&k)!=EOF) { for(int i=1;i<=n;i++) scanf("%d",&a[i]); nth_element(a+1,a+1+n-k+1,a+1+n); printf("%d\n",a[n-k+1]); } return 0; }
相关文章推荐
- SQL优化的思路及基本原则(mysql)
- [LeetCode] Best Time to Buy and Sell Stock
- Java基础知识强化之IO流笔记06:面试题之如果在finally之前有return
- 部署jar包到服务器
- poj 3126 Prime Path bfs
- CYC-NSFileManager的简单使用
- 建造者模式
- codeforces round 321 div2 题解
- opencv提取视频帧,将多张图片组合成视频(C++)
- 杭电
- [Machine Learning] Random Forest 随机森林
- druid 配置_StatFilter
- 《数学之美》之条件随机场与文法分析
- css margin 参数
- HDU 5478 Can you find it
- html code
- 简单对象写入文件
- ios-手势总结-清扫手势
- MYSQL数据操作表
- C. Beautiful Numbers