题目大意:给定两个矩阵,保证矩阵内所有元素都不相同,求第一个矩阵通过交换行和列是否可以得到第二个矩阵

令每一行的哈希值为这一行的元素排序后的RK哈希值,将行按照哈希值排序

然后把每一列按顺序哈希一下,排个序取RK哈希作为整个矩阵的哈希值

判断两个矩阵的哈希值是否相等即可

由于矩阵中元素不重复所以可以保证第一步的哈希值不会出现重复

然后。。。我都写完了它告诉我是2B题????

算了反正POI官网上能过就是了= =

#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 1010
#define BASE1 999911657
#define BASE2 999911659
using namespace std;
int m,n;
int a[M][M],b[M][M];
unsigned long long Calculate()
{int i,j;static pair<unsigned long long,int> c[M];for(i=1;i<=m;i++){static int temp[M];for(j=1;j<=n;j++){scanf("%d",&a[i][j]);temp[j]=a[i][j];}sort(temp+1,temp+n+1);c[i]=make_pair(0ull,i);for(j=1;j<=n;j++)(c[i].first*=BASE1)+=temp[j];}sort(c+1,c+m+1);for(i=1;i<=m;i++)for(j=1;j<=n;j++)b[i][j]=a[c[i].second][j];static unsigned long long d[M];for(j=1;j<=n;j++){d[j]=0;for(i=1;i<=m;i++)(d[j]*=BASE1)+=b[i][j];}sort(d+1,d+n+1);unsigned long long re=0;for(i=1;i<=n;i++)(re*=BASE2)+=d[i];return re;
}
int main()
{int T;for(cin>>T;T;T--){cin>>m>>n;unsigned long long hash1=Calculate();unsigned long long hash2=Calculate();puts(hash1==hash2?"TAK":"NIE");}return 0;
}

BZOJ 1142 POI2009 Tab Hash相关推荐

  1. [BZOJ 1135][POI2009]Lyz

    [BZOJ 1135][POI2009]Lyz 题意 初始时滑冰俱乐部有 \(1\) 到 \(n\) 号的溜冰鞋各 \(k\) 双.已知 \(x\) 号脚的人可以穿 \(x\) 到 \(x+d\) 的 ...

  2. BZOJ 2084: [Poi2010]Antisymmetry(Hash+二分)

    求一个01序列的子串取反并反转后与原串相同的个数. 很显而易见的是,反转的话只要子串对应的i和n-i+1位相反即可,这个看一下样例能很快看出来. 所以我们正着求一遍hash,反着取反然后求hash. ...

  3. bzoj 1115: [POI2009]石子游戏Kam(博弈)

    1115: [POI2009]石子游戏Kam Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1132  Solved: 692 [Submit][S ...

  4. bzoj 1133: [POI2009]Kon(DP)

    1133: [POI2009]Kon Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 457  Solved: 166 [Submit][Status ...

  5. Hall定理(bzoj 1135: [POI2009]Lyz)

    Hall定理(二分图重要定理): 对于二分图U, V(|U|<|V|),设M(Ux)为V中可以与Ux中的点相连的点集,如果该二分图存在完美匹配 那么对于任意点集x∈U都有|M(x)|>=| ...

  6. BZOJ 2085 [Poi2010]Hamsters Hash+倍增floyd

    题意:链接 方法: Hash+倍增floyd 解析: 首先这个BZ的无脑翻译我真是受不了. 加俩条件 所有串的长度总和不超过100000,并且对于任意不同子串A,B,A不包含于B,B不包含于A. 然后 ...

  7. BZOJ 2085 Poi2010 Hamsters Hash+倍增Floyd

    题目大意:给定n个长度总和不超过10W的字符串,求一个最短的母串,使所有字符串的出现次数之和=m 这n个字符串保证不互相包含 TM能不能好好翻译了 令f[i][j]表示第i个字符串后面接上第j个字符串 ...

  8. BZOJ 1135 [POI2009]Lyz 线段树

    题意:链接 方法:线段树维护子区间最值. 解析: 我们可以推出来一个式子. 就是如果满足题意的话. 那么任意一个子区间[l,r] f[i]表示穿i的鞋的人数 (r−l+1+d)∗k>=∑f[i] ...

  9. BZOJ[1135][POI2009]Lyz 线段树

    传送门ber~ 如果某时不合法,那一定存在某段满足 (r−l+1+d)∗k<Σl≤i≤rnumi(r−l+1+d)∗k<Σl≤i≤rnumi (r-l+1+d)*k (其中 numinum ...

最新文章

  1. RHEL6基础四十二之RHEL文件共享①NFS
  2. 4.21 LNMP环境介绍 4.22/23/24 Mariadb安装 4.25 服务管理
  3. 服务器选购seo优化规则,如何选择有利于SEO优化的空间服务器
  4. 【填坑中】学生信息管理系统
  5. 一张图学会python高清图-一张图让你学会Python
  6. 腾讯游戏人脸识别系统更新!刷脸的同时语音提示付款成功_游侠网 Ali213.net
  7. paip.网站上传服务里需要做的操作流程V2012.10.2
  8. pom文件无法加载ojdbc14-10.2.0.4.0.jar
  9. web前端之JavaScript高级程序设计六:事件
  10. 福利 | 这些网站有免费代理IP!
  11. 计算机网络技术在实践中应用,计算机网络技术及在实践中的具体应用
  12. ue4 无限地图_基于UE4的开放世界地图架构
  13. linux pppd源码下载_LINUX下的拨号利器:wvdial和pppd —— 转载
  14. 考研数学汤家凤笔记第一章:极限与连续
  15. 解决php加载慢的一个办法
  16. update语句修改mysql密码_修改 mysql 密码
  17. Python生成英文词云图
  18. 母婴购物微信商城的设计与实现
  19. 这家刷脸入住的酒店,满屋都是黑科技
  20. 机场云商小程序sign分析,签名分析,机场下单包分析

热门文章

  1. 蓝桥-砝码称重【第十二届】【省赛】【B组】
  2. clover 显卡注入功能详细讲解
  3. MySQL5.6数据库多种安装方法及企业级安装实践
  4. 中山市08年继续教育试题及答案
  5. Excel表快速合并,多个Excel表合并到一个里面
  6. Spring IOC入门(上)
  7. docker删除php,docker的卸载及重新安装方法
  8. 产品设计——无处不入口,无处不按钮
  9. MySQL之 事务和MVCC
  10. 中国银行信用卡计算机专业,中国银行笔试题计算机类总结了近几年的费了好大劲才找到的.doc...