暴力求解--哈希表
omsobliga
这个作者很懒,什么都没留下…
展开
-
10282 - Babelfish(***)
/*思路:快速排序,二分查找*/#include #include #include struct node{ char eng[20]; char fore[20];}dic[100010];int cmp(const void *a,const void *b){ node *pa=(node *)a; node *pb=(node *)b; return st原创 2012-02-14 19:06:27 · 574 阅读 · 0 评论 -
10591 - Happy Number
/*简单题题意:S0每位数字的平方之和为S1,一次推理,如果出现Si=1,输出p1。不出现,输出p2。思路:第一次做的时候超时,没计算出一个新的temp需要与前面的所有数字进行一次判断使用hash做记录*/#include #include int hash[10000];bool check(int k,int n){ int temp=0; while(k!=0)原创 2012-02-15 23:50:36 · 820 阅读 · 0 评论 -
10391 - Compound Words(***)字符串的哈希函数
/*题意:一组单词,是否可以分解成两个单词思路:可以进行重组(一种时间效率为n,但空间分配为n*n,一种时间效率为n*n,空间分配为n)也可以进行分拆,效率为n*m,其中m为单词平均长度。主要学习:字符串的哈希处理另外看别人的代码学习到的新技巧:char str[n][m];int r[n];借助r来实现对str的排序。步骤:for(int i=0;i<n;i++)r[i原创 2012-02-16 22:36:01 · 538 阅读 · 0 评论 -
10125 - Sumsets(*****)
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=111&page=show_problem&problem=1066/*推荐题型:五星题意:从数集中找出满足条件:d=a+b+c的所有情况,输出d可取的最大值hash函数处理,使用数组head和next来实现。*/#i原创 2012-02-14 19:09:38 · 686 阅读 · 0 评论 -
10887 - Concatenation of Languages(****)字符串的哈希函数处理
题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=111&page=show_problem&problem=1828/*题意:两组单词,求最多可组合成多少新单词。无重复,可为空思路:字符串的哈希函数处理*/#include #include const int H原创 2012-02-15 23:53:03 · 737 阅读 · 0 评论 -
HDU 1258 Sum It Up(哈希表判重)
判重哈希表解决:#include using namespace std;const int nMax = 15;const int INF = 10007;int t, n;int A[nMax];int flag;int hash[INF][15];int head[INF];//int head[], next[];//int ans[nMax];//int l原创 2012-08-17 09:22:33 · 602 阅读 · 0 评论 -
POJ 1035 Spell checker(哈希表)
/*题意:输入字典,然后输入单词,判断字典中是否出现过该单词,或者是否进行删除、添加、替换操作,如果是,则输出对应的字典中的单词要求按照输入时候的排名输出题解:建立两个哈希表。一个存储字典和输入字典中单词的排名,一个进行最后输出的判重*/#include //#define using namespace std;const int HASH = 12007;char lis原创 2012-08-18 10:16:13 · 1071 阅读 · 0 评论