zoukankan      html  css  js  c++  java
  • POJ 2442 Sequence(堆的使用练习)

    题目地址:POJ 2442

    真心没想到这题的思路。

    。原来是从第一行逐步向下加,每次都仅仅保存前n小的数。顺便练习了下堆。。

    只是感觉堆的这样的使用方法用的不太多啊。。

    又是手残。

    把j写成了i,于是就改啊改。。改的跟题解上的差点儿一样了= = !。

    代码例如以下:

    #include <iostream>
    #include <cstdio>
    #include <string>
    #include <cstring>
    #include <stdlib.h>
    #include <math.h>
    #include <ctype.h>
    #include <queue>
    #include <map>
    #include <set>
    #include <algorithm>
    
    using namespace std;
    const int INF=0x3f3f3f3f;
    int q[3000], b[3000], sum[3000];
    int main()
    {
        int t, n, m, i, j, x, tmp, k;
        scanf("%d",&t);
        while(t--)
        {
            scanf("%d%d",&m,&n);
            for(i=0;i<n;i++)
            {
                scanf("%d",&sum[i]);
            }
            sort(sum,sum+n);
            for(i=1;i<m;i++)
            {
                for(j=0;j<n;j++)
                {
                    scanf("%d",&b[j]);
                }
                sort(b,b+n);
                for(j=0;j<n;j++)
                {
                    q[j]=sum[0]+b[j];
                }
                make_heap(q,q+n);
                for(j=1;j<n;j++)
                {
                    for(k=0;k<n;k++)
                    {
                        tmp=sum[j]+b[k];
                        if(tmp>=q[0])
                            break;
                        pop_heap(q,q+n);
                        q[n-1]=tmp;
                        push_heap(q,q+n);
                    }
                }
                for(j=0;j<n;j++)
                {
                    sum[j]=q[j];
                }
                sort(sum,sum+n);
            }
            for(i=0;i<n-1;i++)
            {
                printf("%d ",sum[i]);
            }
            printf("%d
    ",sum[n-1]);
        }
        return 0;
    }
    


  • 相关阅读:
    stl_hash_set.h
    stl_hash_map.h
    stl_algobase.h
    stl_relops.h
    stl_algo.h
    VC6常用插件
    visual assist(VA)设置快捷键(其它安装的插件设置快捷键也在这里)
    SVN常用命令说明
    Android 调用相册 拍照 实现系统控件缩放 切割图片
    Android 一个3D相册源码
  • 原文地址:https://www.cnblogs.com/brucemengbm/p/6923656.html
Copyright © 2011-2022 走看看