2462: [BeiJing2011]矩阵模板
来源:互联网 发布:日语软件测试工程师 编辑:程序博客网 时间:2024/05/22 17:39
Description
给定一个M行N列的01矩阵,以及Q个A行B列的01矩阵,你需要求出这Q个矩阵哪些在
原矩阵中出现过。
所谓01矩阵,就是矩阵中所有元素不是0就是1
题解:
打个hash表然后查询一下。
听说全输出1也行。
#include<cstdio>#include<cstring>#include<cstdlib>#include<iostream>#include<algorithm>using namespace std;#define UI unsigned int#define P 99999971#define base1 9804799#define base2 9983543#define ll long longconst int N=1010;int n,m,a1,b1;UI a[N][N],b[N][N];UI pow1[N],pow2[N];bool hash[100000000];int main(){scanf("%d%d%d%d",&n,&m,&a1,&b1);pow1[0]=pow2[0]=1;for(int i=1;i<=max(n,m);i++) pow1[i]=pow1[i-1]*base1,pow2[i]=pow2[i-1]*base2;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)scanf("%1d",&a[i][j]);for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)a[i][j]+=a[i-1][j]*base1;for(int i=1;i<=n;i++)for(int j=1;j<=m;j++)a[i][j]+=a[i][j-1]*base2;for(int i=a1;i<=n;i++)for(int j=b1;j<=m;j++){UI Hash=a[i][j];Hash-=a[i-a1][j]*pow1[a1];Hash-=a[i][j-b1]*pow2[b1];Hash+=a[i-a1][j-b1]*pow1[a1]*pow2[b1];hash[Hash%P]=1;}int yu;scanf("%d",&yu);while(yu--){for(int i=1;i<=a1;i++)for(int j=1;j<=b1;j++)scanf("%1d",&b[i][j]); for(int i=1;i<=a1;i++) for(int j=1;j<=b1;j++)b[i][j]+=b[i-1][j]*base1; for(int i=1;i<=a1;i++) for(int j=1;j<=b1;j++)b[i][j]+=b[i][j-1]*base2; if(hash[b[a1][b1]%P]==1) printf("1\n"); else printf("0\n");}}
阅读全文
0 0
- 2462: [BeiJing2011]矩阵模板
- 2462: [BeiJing2011]矩阵模板
- 2462: [BeiJing2011]矩阵模板
- bzoj 2462 [BeiJing2011]矩阵模板
- BZOJ 2462: [BeiJing2011]矩阵模板
- BZOJ 2462: [BeiJing2011]矩阵模板
- [BZOJ 2462 BeiJing2011矩阵模板]矩阵Hash
- bzoj 2462 [BeiJing2011]矩阵模板 (hash)
- [BZOJ]2462: [BeiJing2011]矩阵模板 二维hash
- 【BeiJing2011】【BZOJ2462】矩阵模板
- BZOJ 2462/2351 [BeiJing2011]矩阵模板/[BeiJing2011]Matrix 二维哈希
- BZOJ 2462: [BeiJing2011]矩阵模板 二维哈希
- 线性基 模板 bzoj2460 【BeiJing2011】 元素
- BZOJ 2553 BeiJing2011 禁忌 AC自动机+矩阵乘法
- 【BZOJ2553】【BeiJing2011】禁忌 AC自动机 矩阵乘法 动态规划
- 【 bzoj 2553 】 [BeiJing2011]禁忌 - AC自动机+矩阵乘法
- BZOJ2553:[BeiJing2011]禁忌 AC自动机+矩阵快速幂
- [AC自动机 矩阵快速幂 期望] BZOJ 2553 [BeiJing2011]禁忌
- 初识JQuery,上课笔记
- 将查询的数据写到redis缓存中
- React Native 入门(二)
- C语言与VT100控制码编程
- PyTorch学习
- 2462: [BeiJing2011]矩阵模板
- make menuconfig出错,ncurses安装失败
- 内存溢出和内存泄漏的区别
- 9月20日云栖精选夜读:异构计算&高性能计算分论坛——揭秘拿什么实现超算平民化、国际化?
- springboot基础
- Java学习6:static关键字
- 用js将简体转换为繁体
- spring boots 持久化 报错
- 阿里云大学安全课程-阿里云首席安全研究员吴瀚清:WannaCry事件最“细思恐极“的一个事实是?