SSL_1063&&P1097【统计数字】
程序员文章站
2022-03-13 15:26:41
...
统计数字
题目
解析
初看题,看数据似曾相识明归来
排序/二分都能轻松水掉,然而蒟蒻用的是哈希为什么学哈希就要用哈希
经过一番乱搞,AC
所以,为什么一定要在可以AC的非哈希代码上加上哈希乱搞呢?
code:
#include<cstdio>
#include<algorithm>
#define mod 1000007
using namespace std;
int n,m,a[mod],s[mod],b[200010],t,l;
int h(int x)
{
return x%mod;
}
int wh(int x)
{
int q=h(x),i=0;
while(i<mod&&a[(q+i)%mod]!=x&&a[(q+i)%mod])i++;
return (q+i)%mod;
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&b[i]);
t=wh(b[i]);
s[t]++,a[t]=b[i];
}
sort(b+1,b+n+1);
for(int i=1;i<=n;)
{
t=wh(b[i]),l=i;
printf("%d %d\n",b[i],s[t]);
while(b[i]==b[l]&&i<=n)i++;
}
return 0;
}