uva 11019 Matrix Matcher 字符串哈希
来源:互联网 发布:日本武士刀淘宝 编辑:程序博客网 时间:2024/05/04 20:08
题意:一个文本矩阵和一个模式矩阵,求模式矩阵在文本矩阵中出现次数。
二维哈希。
#include <cstdio>#include <cstring>#include <algorithm>using namespace std;#define a 321#define b 207#define ull long longint n,m,x,y;ull h1[1100][1100],h2[1100][1100];char T[1100][1100],P[110][110];void init(){ memset(h1,0,sizeof(h1)); memset(h2,0,sizeof(h2));}int main(){ int cas; scanf("%d",&cas); while(cas--) { init(); int sum=0; ull ta=1,tb=1;; scanf("%d%d",&n,&m); for(int i=0;i<n;i++) scanf("%s",T[i]); scanf("%d%d",&x,&y); for(int i=0;i<x;i++) scanf("%s",P[i]); for(int i=1;i<=y;i++) ta*=a; for(int i=1;i<=x;i++) tb*=b; ull ans=0; for(int i=0;i<x;i++) for(int j=0;j<y;j++) h1[i][0]=h1[i][0]*a+P[i][j]; for(int i=0;i<x;i++) ans=ans*b+h1[i][0]; init(); for(int i=0;i<n;i++) { for(int j=0;j<y;j++) h1[i][0]=h1[i][0]*a+T[i][j]; for(int j=1;j+y<=m;j++) h1[i][j]=h1[i][j-1]*a+T[i][j+y-1]-T[i][j-1]*ta; } for(int j=0;j<m;j++) { for(int i=0;i<x;i++) h2[0][j]=h2[0][j]*b+h1[i][j]; for(int i=1;i+x<=n;i++) h2[i][j]=h2[i-1][j]*b+h1[i+x-1][j]-h1[i-1][j]*tb; } for(int i=0;i+x<=n;i++) for(int j=0;j+y<=m;j++) if(h2[i][j]==ans) sum++; printf("%d\n",sum); } return 0;}
0 0
- uva 11019 Matrix Matcher 字符串哈希
- Uva 11019 Matrix Matcher(二维字符串匹配)
- UVA 11019 Matrix Matcher
- Uva 11019 Matrix Matcher
- UVA 11019 Matrix Matcher
- UVA 11019 Matrix Matcher
- UVa 11019 Matrix Matcher
- UVA 11019 Matrix Matcher
- UVA 11019 Matrix Matcher
- UVA 11019 Matrix Matcher(字符串hash+KMP)
- UVA 11019 Matrix Matcher AC自动机字符串矩阵匹配
- UVa:11019 Matrix Matcher(AC自动机)
- Matrix Matcher - UVa 11019 哈希+KMP
- uva 11019 - Matrix Matcher(AC自动机)
- UVA 11019 Matrix Matcher(字符hash)
- uva 11019 - Matrix Matcher --AC自动机
- UVA-11019 - Matrix Matcher(AC自动机)
- UVA 11019 Matrix Matcher(AC自动机)
- 一 : using声明、using指示及其作用域详解
- 网络分析与网络数据集—转向
- des加密
- 关于bash
- 二 : using声明、using指示用于嵌套命名空间时的作用域
- uva 11019 Matrix Matcher 字符串哈希
- 关于QImage和IplImage之间转换的实现
- 叫做 Nanshan即时通讯 贪婪型
- 在你离职前做好准备,提前想想这些问题,兴许能提高你的面试的成功率
- MySQL详解--锁
- 免编译源码MySql-5.1-Linux安装全过程
- Ubuntu下netbeans-xdebug配置
- 游戏中缓存加载纹理- 游戏渲染机制
- Android UI开发详解之ActionBar