首页 > 其他 > 详细

几道hash题

时间:2015-03-16 22:38:17      阅读:329      评论:0      收藏:0      [点我收藏+]

1:

UVa 10887 - Concatenation of Languages

map 可以做 ,但是输入实在恶心,有空串之类的HASH模板:

           
int Hash(char *s)
{
   int seed=131,sum=0;
   while (*s)
   sum=sum*seed+(*s++);
   return (sum&0x7FFFFFFF)%N;
}

void hash_insert(int s)
{
   int h=Hash(c[s]);
   int u=head[h];
   while (u)
   {
     if (!strcmp(c[s],c[u]))
     {
      return;
     }
     u=next[u];
   }
   next[s]=head[h];
   head[h]=s;
   ++ans;
}虽然简单,但是要灵活用好也比较费力。

   

几道hash题

原文:http://www.cnblogs.com/forgot93/p/4342803.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!