2351: [BeiJing2011]Matrix Time Limit: 20 Sec  Memory Limit: 128 MBSubmit: 589  Solved: 171[Submit][Status] Description 给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在原矩阵中出现过. 所谓01矩阵,就是矩阵中所有元素不是0就是1. Input 输入文件的第一行为M.N.A.B,参见题目描述. 接下来M行,每行N个字符,非0即1,描述原矩阵. 接…
引用题解:http://blog.csdn.net/popoqqq/article/details/41084047 #include<cstdio> #include<cstring> using namespace std; typedef unsigned long long ull; int n,m,a,b,q; const ull seed1=17,seed2=19; #define MOD 1000001 ull v[MOD],sum[1001][1001],ord[2…
题目描述 给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在原矩阵中出现过.所谓01矩阵,就是矩阵中所有元素不是0就是1. 输入 输入文件的第一行为M.N.A.B,参见题目描述.接下来M行,每行N个字符,非0即1,描述原矩阵.接下来一行为你要处理的询问数Q.接下来Q个矩阵,一共Q*A行,每行B个字符,描述Q个01矩阵. 输出 你需要输出Q行,每行为0或者1,表示这个矩阵是否出现过,0表示没有出现过,1表示出现过. 样例输入 3 3 2 2 111 000 111…
2014多校第一题,当时几百个人交没人过,我也暴力交了几发,果然不行. 比完了去学习了BSGS才懂! 题目:http://acm.hdu.edu.cn/showproblem.php?pid=4887 Endless Punishment Time Limit: 30000/15000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) Total Submission(s): 52    Accepted Submissi…
redis哈希缓存数据表 REDIS HASH可以用来缓存数据表的数据,以后可以从REDIS内存数据库中读取数据. 从内存中取数,无疑是很快的. var FRedis: IRedisClient; FRedis := NewRedisClient; // 创建对象 FRedis.HSET('table1', 'field1', '1'); // 写缓存  FRedis.HSET('table1', 'field2', '2'); var s: string; FRedis.HGET('table…
hash一下, 把原矩阵所有A*B的子矩阵的hash值存在set里面, 然后对于每个询问就求出hash值, 在set中查找. ------------------------------------------------------------------------ #include<cstdio> #include<cstring> #include<set> #include<algorithm>   using namespace std;   t…
编程计算2×3阶矩阵A和3×2阶矩阵B之积C. 矩阵相乘的基本方法是: 矩阵A的第i行的所有元素同矩阵B第j列的元素对应相乘, 并把相乘的结果相加,最终得到的值就是矩阵C的第i行第j列的值. 要求: (1)从键盘分别输入矩阵A和B, 输出乘积矩阵C (2) **输入提示信息为: 输入矩阵A之前提示:"Input 2*3 matrix a:\n" 输入矩阵B之前提示:"Input 3*2 matrix b:\n" **输入矩阵中每个值的格式为:"%d&quo…
2014.06.22 12:36 简介: 哈希是一种数学思想,将不定长数据通过函数转换为定长数据.不定长数据通常意味着碎片化,动态分配内存等等影响存储和性能的因素.当这个定长数据是一个无符号整数时,可以用来表示数组的下标.因此就可以通过这样的哈希算法来把自定义类型的数据存入一个数组中.这样就有了哈希表的基本思想:把自定义类型(定长或者不定长)的数据存入一个数组中,具体应该插入的位置,则由哈希函数计算得出. 描述: 举个例子,有一个string类型的数组长度为5.那么我们将一些字符串插入到这个数组…
题目链接:矩阵 题意:给定一个$m$行$n$列的$01$矩阵$($只包含数字$0$或$1$的矩阵$)$,再执行$q$次询问,每次询问给出一个$a$行$b$列的$01$矩阵,求该矩阵是否在原矩阵中出现过 思路:二维哈希,从矩阵的右下角为低位到矩阵的左上角为高位,先求出每一行的一维哈希值$h[i][j]$,在$a$行$b$列的$01$矩阵向下移动的过程中,先向下扩展成$a+1$行$b$列的$01$矩阵,再将最上面的一行减去,这样矩阵就会向下移动一格,设原来$a$行$b$列矩阵的哈希值为$t$,所以新…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2351 就是先把每行单独从左到右扫着乘一个 b1 哈希起来,然后再按列从上往下乘一个 b2 哈希起来. 如果要取模的话,行的哈希和列的哈希应该模一样的数. 当然不是读入询问再枚举所有位置看哈希值啦……应该先把合法位置的哈希值用一个 map 之类的存一下存在性,询问的时候直接查 map 就行了. #include<cstdio> #include<cstring> #includ…