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;
}虽然简单,但是要灵活用好也比较费力。

UVA :Matrix Matcher

一般 矩阵 串里面找存在目标字串 多少次 的hash写法。

虽然 自然溢出的算法会碰撞的几率很小,但是还是有的,所以这是你没想到 更好的解法的时候碰一下运气的做法。

不过 碰撞的几率 很小。

 ull p=;
for (int i=;i<x;i++)
{
ull tmp=;
for (int j=;j<y;j++)
tmp=tmp*B1+s1[i][j];
p=p*B2+tmp;
} ull t=;
int ans=; for (int i=;i<y;i++) t*=B1;
for (int i=;i<n;i++)
{
ull a=;
for (int j=;j<y;j++) a=a*B1+s[i][j];
mp[i][y-]=a;
for (int j=y;j<=m;j++)
mp[i][j]=mp[i][j-]*B1-s[i][j-y]*t+s[i][j];
}
t=;
for (int i=;i<x;i++) t*=B2; for (int i=y-;i<=m;i++)
{
ull tmp=;
for (int j=;j<x;j++) tmp=tmp*B2+mp[j][i];
mpp[x-][i]=tmp;
if (tmp==p) ans++;
for (int j=x;j<n;j++)
{
mpp[j][i]=mpp[j-][i]*B2-mp[j-x][i]*t+mp[j][i];
if (mpp[j][i]==p) ans++;
}

最新文章

  1. Jmeter + Grafana + InfluxDB 性能测试监控
  2. java怎么定义一个二维数组?
  3. 思考之一——PM(Project Manager)
  4. 经典好文:android和iOS平台的崩溃捕获和收集
  5. ceph源码之一
  6. hdu 4972 A simple dynamic programming problem(高效)
  7. 关于mysql表中有大文本limit慢的优化
  8. 【推荐】地推统计结算工具SDK,手机开发首选
  9. android studio 虚拟机adb.exe已停止工作的处理
  10. ansible-play中for,if的使用
  11. ElasticSearch6.5.0 【Rejecting mapping update to [posts] as the final mapping would have more than 1 type】
  12. 《大型网站系统与Java中间件实践》
  13. tensorflow笔记9:nn_ops.bias_add 函数
  14. webug4.0安装
  15. IntelliJ IDEA(2018)安装详解
  16. Mahout0.6-VectorDumper bug修复
  17. [BZOJ3678]wangxz与OJ-[Splay一类的平衡树]
  18. 2月24日考试——ZYYS
  19. js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周
  20. 【BZOJ2908】又是nand 树链剖分+线段树

热门文章

  1. python struct.pack方法报错argument for &#39;s&#39; must be a bytes object 解决
  2. 浅谈p值(p-value是什么)
  3. 公共dao的抽取
  4. node的影响及前后端之争
  5. vscode 中文设置
  6. TWaver可视化编辑器的前世今生(四)电力 云计算 数据中心
  7. tabs标签页的数据缓存
  8. python 02 8/21-8/23
  9. SSM整合shiro
  10. 04--activiti demo