[2007年NOIP提高组] 统计数字
试题分析:本题目要求将n个数中每个数及出现的次数输出,所以可以用到排序,先进行归并排序,在计算每个数字出现的次数,用for循环遍历,一边遍历,一边输出。
#include<bits/stdc++.h>
using namespace std;
int aa[1000000],a[1000000],n,i,j,ll,rr,bj;
void fz(int l,int r){//归并排序
if((l+r)/2-l>=1)
{
fz(l,(l+r)/2);
fz((l+r)/2+1,r);
}
for(i=l;i<=r;i++){
a[i]=aa[i];
}
ll=0;
rr=0;
for(i=0;i<=r-l;i++){
if((a[l+ll]<a[(l+r)/2+rr+1]&&l+ll<=(l+r)/2)||(l+r)/2+rr+1>r){
aa[l+i]=a[l+ll];
ll++;
}
else{
aa[l+i]=a[(l+r)/2+rr+1];
rr++;
}
}
return;
}
int main(){
cin>>n;
for(i=1;i<=n;i++){
cin>>aa[i];
}
fz(1,n);
bj=1;
for(i=2;i<=n;i++){
if(aa[i]!=aa[i-1]) {
printf("%d %d\n",aa[i-1],bj);
bj=1;
}
else{
bj++;
}
}
printf("%d %d",aa[n],bj);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~