zoukankan      html  css  js  c++  java
  • HDU-1280-前m大的数

    题目链接

    http://acm.hdu.edu.cn/showproblem.php?pid=1280

    题目用sort排序可以AC(390MS,17932K)但冒泡法或者选择则会超时了。也可以利用hash(0MS,256K)AC很显然hash比sort好很多

    hash的代码

    #include<stdio.h>
    #include<string.h>
    int main(void)
    {
    int n,m,a[3005],hash[10000];
    int i,j,k;
    while(scanf("%d%d",&n,&m)==2)
    {
    memset(hash,0,sizeof(hash));
    for(i=0;i<n;i++)
    scanf("%d",a+i);
    for(i=0;i<n;i++)
    {
    for(j=i+1;j<n;j++)
    {
    k=a[i]+a[j];
    hash[k]++;
    }
    }
    int h=0;
    for(i=9999;i>=0;i--)
    {
    while(hash[i])
    {
    printf(h++?" %d":"%d",i);
    hash[i]--;
    if(h==m)
    break;
    }
    if(h==m)
    break;
    }
    printf(" ");
    }
    return 0;
    }

    sort 的代码

    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    using namespace std;

    int s[10000000];

    int main(void)
    {
    int n,m;
    int a[3005];
    int i,j,k,l;
    while(scanf("%d%d",&n,&m)==2)
    {
    for(i=0;i<n;i++)
    scanf("%d",a+i);
    k=-1;
    for(i=0;i<n;i++)
    {
    for(j=i+1;j<n;j++)
    {
    s[++k]=a[i]+a[j];
    }
    }
    sort(s,s+k+1);
    int h=0;
    for(i=k;i>k-m;i--)
    printf(h++?" %d":"%d",s[i]);
    printf(" ");
    }
    return 0;
    }

    而选择法的代码超时(Time Limit Exceeded)

    #include<stdio.h>
    #include<algorithm>
    #include<iostream>
    using namespace std;

    int s[10000000];

    int main(void)
    {
    int n,m;
    int a[3005];
    int i,j,k,l;
    while(scanf("%d%d",&n,&m)==2)
    {
    for(i=0;i<n;i++)
    scanf("%d",a+i);
    k=-1;
    for(i=0;i<n;i++)
    {
    for(j=i+1;j<n;j++)
    {
    s[++k]=a[i]+a[j];
    }
    }
    for(i=0;i<=k;i++)
    {
    for(j=i+1;j<=k;j++)
    {
    if(s[i]>s[j])
    s[i]=s[i]^s[j]^(s[j]=s[i]);
    }
    }
    int h=0;
    for(i=k;i>k-m;i--)
    printf(h++?" %d":"%d",s[i]);
    printf(" ");
    }
    return 0;
    }

  • 相关阅读:
    发工资
    洛谷 P1821 [USACO07FEB]银牛派对Silver Cow Party
    洛谷P2169 正则表达式
    洛谷[LnOI2019]长脖子鹿省选模拟赛t1 -> 快速多项式变换
    洛谷 P1690 贪婪的Copy
    洛谷P1090 合并果子
    洛谷P1886 滑动窗口
    洛谷CF784E Twisted Circuit
    洛谷P2430 严酷的训练
    开博客第一天祭!!!
  • 原文地址:https://www.cnblogs.com/liudehao/p/3966235.html
Copyright © 2011-2022 走看看