sort(桶排序+hash)
Posted staceyacm
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sort(桶排序+hash)相关的知识,希望对你有一定的参考价值。
题目链接:https://cn.vjudge.net/problem/HDU-1425
注意是多组输入
代码:
#include<cstdio> #include<iostream> #include<cstring> #include<algorithm> #include<queue> #include<stack> #include<set> #include<vector> #include<cmath> #define Inf 0x3f3f3f3f const int maxn=1e5+5; typedef long long ll; using namespace std; int vis[maxn*10]; int ans[maxn*10]; int main() int n,m; while(cin>>n>>m) memset(vis,0,sizeof(vis)); int x; int maxx=-Inf; for(int t=0;t<n;t++) scanf("%d",&x); maxx=max(maxx,x+500000); vis[x+500000]++; int cnt=0; int nn=maxx; while(cnt<m) while(vis[nn]) vis[nn]--; ans[cnt]=nn-500000; cnt++; if(cnt==m) break; nn--; for(int t=0;t<cnt;t++) if(t!=cnt-1) printf("%d ",ans[t]); else printf("%d\n",ans[t]); return 0;
以上是关于sort(桶排序+hash)的主要内容,如果未能解决你的问题,请参考以下文章
Algorithms - Bucket Sort - 桶排序