2009ACM多校联合暑期集训(11)——HRBEU专场

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

 

 

3003 pupu——队友ac.

   用到了a^bmod m 的公式。

 

3006a number of set—— ac.

    这是一道背包题,还没学,比赛是并不是用背包的方法做的,但也用到了0 1的处理方法,还是有这种思想在吧。看了别人的代码,有用到或运算,感觉很巧妙。贴下代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
using namespace
std;
bool
hash[17000];
int
num[17000];
void
main()
{

    int
n,m;
    int
nnum;
    int
k;
    int
i,j;
    int
sum;
    int
a;
    while
(scanf("%d%d",&n,&m)!=EOF)
    {

        nnum=0;
        memset(hash,0,sizeof(hash));
        for
(i=0;i<n;i++)
        {

            scanf("%d",&k);
            sum=0;
            for
(j=0;j<k;j++)
            {

                scanf("%d",&a);
                sum+=pow(2,a-1);//把二进制换成十进制来哈希
            }

            if
(hash[sum])
                continue
;
            num[nnum]=sum;
            hash[sum]=1;
            nnum++;
            for
(j=0;j<nnum;j++)
            {

                a=sum|num[j];//用十进制来或,求两个集合的并
                if
(hash[a]==0)
                {

                    num[nnum]=a;
                    nnum++;                   
                    hash[a]=1;
                }
            }
        }

        printf("%d/n",nnum);
    }
}

3007 Buried memory——ac.

    几何题。就是求能覆盖N个点的最小圆。具体代码见几何部分吧。

 

 

3008 Warcraft——待ac.

    动态规划题。比赛时在用搜索做,感觉会TLE,结果是MLE。现在思路是知道了,要把它写一下吧。

 

 

   这次比赛实际上只比了4小时,因为后来断电了,但这跟高中初中是不一样,要那时断电可以停止考试,那肯定是乐死了,但比赛时就不一样,题目写好了但不能交 ,也不知道对不对,很难受的,这次也算比的还好吧,如果能把最后一题写出,就是被能写的都写出来了,最近比赛都还不错,不会像刚开始时 每次垫底了,有时还是挺好的,嘿嘿,继续加油!

你可能感兴趣的:(ini)