摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1113题意:给一堆单词做字典,XXXXXX结束。然后给若干个单词,输出它和字典里哪些单词由同样的字母(个数也相同)组成,有多组的话按字典序输出。XXXXXX结束。mark:题意有点绕。。。思路是先把字典里的单词排序,并且每个单词计算一个值val。这个val是把单词的字母排序以后hash得到的,范围是26^6也就是3亿多一点,可以用int来表示。这样接下来每个单词输入的时候,只要比对字典里的val,相同则可以输出。不hash的话就多存一个字母排序以后的单词也可以。代码:# include <stdi 阅读全文
posted @ 2012-02-03 01:11 Seraph2012 阅读(380) 评论(0) 推荐(0) 编辑
摘要: 地址:http://acm.hdu.edu.cn/showproblem.php?pid=1141题意:atmel公司1960年发布4bits的处理器,每10年翻一番。给一个年份,问最近一次发布的处理器能运算的n!最大的n是多少。mark:最大的处理器位数是2160年的4194304bits。要算n!的二进制表示位,直接算很难,可以变成求log2后取整加1。然后因为log2(n!) = log2(1) + log2(2)...+log2(n),所以直接O(n)就可以了。大概算到30w可以把500wbits的算出来,之后按输入二分。代码:# include <stdio.h># in 阅读全文
posted @ 2012-02-03 00:33 Seraph2012 阅读(180) 评论(0) 推荐(0) 编辑