练习题目-动态第k小
2016-10-18 22:05
260 查看
Description
相传小M会各种动态第K大的神奇姿势。树套树、树状数组+主席树、整体二分、块状链表....哪个他没用过。
我们啊,还是太naive了。
小M为了教我们点人生经验,于是需要教会我们求第K小。
小M给你n个数,然后给你一个k,你要回答他这n个数中第k小是多少?
Input
第一行为两个整数n和k1 <= n <= 1000; k<=n
第二行为n个整数a_i
1 <= a_i <= 1000
输入数据有多组,以EOF结尾。
Output
输出第k小的数
Sample Input
10 3 1 2 3 4 5 6 7 8 9 10
Sample Output
3
#include <stdio.h> #include <iostream> using namespace std; int f(int a[],int k,int n) { int i,j=1; int min=a[1]; int m=1; while(j<=k) { i=j+1; m=j; min=a[j]; while(i<=n) { if(min>a[i]) { min=a[i]; m=i; } i++; } int temp=a[m]; a[m]=a[j]; a[j]=temp; j++; } return a[k]; } int main() { int n,k,i,b[100],count=1; while(scanf("%d %d",&n,&k)!=EOF) { int a[1001]; i=1; while(i<=n) { scanf("%d",&a[i]); i++; } b[count++]=f(a,k,n); } i=1; while(i<count) { printf("%d\n",b[i]); i++; } return 0; }
相关文章推荐
- POJ 2761可以练习无数种数据结构的题——动态区间求第K小
- zoj 2112 Dynamic Rankings 动态第k大 线段树套Treap
- js编程题目练习
- PAT练习基础编程题目之简单求和
- 题目1480:最大上升子序列和:动态规划
- 动态规划经典题目:最大连续子序列和
- 动态数组的声明与例子练习
- 动态代理练习3-自定义数据库连接池[connection动态代理]
- DOM练习2-动态增删表格行
- 动态规划-背包的基础上进行模拟 2018年全国多校算法寒假训练营练习比赛(第二场)牛客网B题
- LeetCode Online Judge 题目C# 练习 - Decode Way
- 【BestCoder Round 65C】【树状数组 动态查找第k大 O(nlogn)】ZYB's Premutation 告诉你前i个数中的逆序对数让你还原全排列
- Problem B: 动态规划基础题目之最长上升子序列
- 2018华为校招机试题目练习
- LeetCode Online Judge 题目C# 练习 - Implement strStr()
- acm之动态规划题目5
- c语言竞赛小题目练习
- 几道web前端练习题目
- C++题目练习,贪吃蛇制作学习
- LeetCode Online Judge 题目C# 练习 - Maximal Rectangle