hdoj-1425-sort【哈希】

sort

Time Limit: 6000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)

Total Submission(s): 34501 Accepted Submission(s): 10232

Problem Description

给你n个整数,请按从大到小的顺序输出其中前m大的数。

Input

每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数。

Output

对每组测试数据按从大到小的顺序输出前m大的数。

Sample Input

5 3
3 -35 92 213 -644

Sample Output

213 92 3

Hint

Hint

请用VC/VC++提交

Author

LL

Source

ACM暑期集训队练习赛(三)

Recommend

linle | We have carefully selected several similar problems for you:
1280 1800 1264 2522 1205

贴个没用哈希的代码:只能用G++过,C++超时

#include<stdio.h>
#include<algorithm>
using namespace std;
int a[1000000];
int cmp(int a,int b){
    return a>b;
}
int main(){
    int n,m;
    while(~scanf("%d%d",&n,&m)){
        int i;
        for(i=0;i<n;++i){
            scanf("%d",&a[i]);

        }
        sort(a,a+n,cmp);
        printf("%d",a[0]);
        for(i=1;i<m;++i)
        printf(" %d",a[i]);
        printf("\n");
    }
    return 0;
}

下面是用哈希法写的,c++能过

#include<stdio.h>
#include<string.h>
bool hash[1000001];
const int MAXN=500000;
int main(){
	int n,m;
	while(~scanf("%d%d",&n,&m)){
		memset(hash,0,sizeof(hash));
		int i,x;
		for(i=0;i<n;++i){
			scanf("%d",&x);
			hash[x+MAXN]=true;
		}
		for(i=MAXN*2;i>=0;--i){
			if(hash[i]&&m>1){
				printf("%d ",i-MAXN);
				m--;
			}
			else if(hash[i]&&m==1){
				printf("%d\n",i-MAXN);
				break;
			}
		}
	}
	return 0;
}

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-14 07:43:37

hdoj-1425-sort【哈希】的相关文章

hdu acm 1425 sort(哈希表思想)

sort Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 25803    Accepted Submission(s): 7764 Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且

【转】HDU 1425 sort:哈希入门

#include<iostream> #include<cstring> #include<cstdio> using namespace std; const int Size = 1000000; int Hash[Size+1]; int main() { int n, m, num; while(cin>>n>>m) { memset(Hash, 0, sizeof(Hash)); for(int i=0; i<n; i++){ s

E题hdu 1425 sort

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1425 sort Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 33461    Accepted Submission(s): 9968 Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Inpu

HDU 1425 sort 题解

选择出数列中前k个最大的数. 这里因为数据特殊,所以可以使用hash表的方法: #include <cstdio> #include <algorithm> #include <stdlib.h> #include <limits> using namespace std; const int SIZE = 1000005; const int SMALL = -500000; bool arr[SIZE]; int main() { int n, m, a

HDU 1425 sort 【哈希入门】

题意:给出n个数,输出前m大的数 和上一题一样,将输入的数加上一个极大地值作为地址 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include <cmath> 5 #include<algorithm> 6 using namespace std; 7 8 typedef long long LL; 9 const int M=500000; 10 int a,ha

HDU 1425 sort (排序)

sort Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 28997    Accepted Submission(s): 8796 Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,

HDU 1425 sort (hash)

sort Time Limit: 6000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 29001    Accepted Submission(s): 8799 Problem Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,

HDU 1425 sort(堆排序/快排)

传送门 Description 给你n个整数,请按从大到小的顺序输出其中前m大的数. Input 每组测试数据有两行,第一行有两个数n,m(0<n,m<1000000),第二行包含n个各不相同,且都处于区间[-500000,500000]的整数. Output 对每组测试数据按从大到小的顺序输出前m大的数. Sample Input 5 3 3 -35 92 213 -644 Sample Output 213 92 3 1.使用内建sort函数 #include<iostream>

杭电1425 sort

Problem Description 给你n个整数.请按从大到小的顺序输出当中前m大的数. Input 每组測试数据有两行,第一行有两个数n,m(0<n,m<1000000).第二行包括n个各不同样,且都处于区间[-500000,500000]的整数. Output 对每组測试数据按从大到小的顺序输出前m大的数. Sample Input 5 3 3 -35 92 213 -644 Sample Output 213 92 3 Hint Hint 请用VC/VC++提交 /*//sort #

『ACM C++』HDU杭电OJ | 1425 - sort (排序函数的特殊应用)

今天真的是累哭了,周一课从早八点半一直上到晚九点半,整个人要虚脱的感觉,因为时间不太够鸭所以就回头看看找了一些比较有知识点的题来总结总结分析一下,明天有空了就开始继续打题,嘻嘻嘻. 今日兴趣电影: <超能查派> 这是一部关于未来人工智能的一个故事,感觉特别有思维开拓性,一个程序员写出了真正的AI智能机器人,可以从婴儿开始学习,然后以极快极强的学习速度不断成长,最后拯救身边人的故事.很感人,强烈推荐哈哈~ 爱奇艺:https://www.iqiyi.com/v_19rroly1wo.html?f