传送门
二分答案+哈希。
二分边长,哈希判断是否相等。
注意,行/列上计算key时乘的数应不同。

#include<cstring>
#include<cmath>
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<algorithm>
#include<map>
#define ll long long
using namespace std;
ll a[2][55][55],f[2][55][55],t[55],b[2505];
int n,l,r,m,ans;
inline ll read(){ll x=0,f=1;char ch=getchar();for (;ch<'0'||ch>'9';ch=getchar()) if (ch=='-') f=-1;for (;ch>='0'&&ch<='9';ch=getchar()) x=x*10+ch-48;return x*f;
}
inline ll cal(int x,int y,int z,int m){ll val=1;for (int i=y;i<y+m;i++)val=val*3659+f[x][i][z+m-1]-f[x][i][z-1]*t[m];return val;
}
inline int jud(int m){int cnt=0;for (int i=1;i<=n-m+1;i++)for (int j=1;j<=n-m+1;j++)b[++cnt]=cal(0,i,j,m);sort(b+1,b+cnt+1);for (int i=1;i<=n-m+1;i++)for (int j=1;j<=n-m+1;j++){ll t=cal(1,i,j,m);if (*lower_bound(b+1,b+cnt+1,t)==t) return 1;} return 0;
}
int main(){n=read();t[0]=1;for (int i=1;i<=n;i++) t[i]=t[i-1]*1789;for (int i=0;i<2;i++)for (int j=1;j<=n;j++)for (int k=1;k<=n;k++) a[i][j][k]=read();for (int i=0;i<2;i++)for (int j=1;j<=n;j++){f[i][j][0]=1;for (int k=1;k<=n;k++) f[i][j][k]=f[i][j][k-1]*1789+a[i][j][k];}l=1,r=n;while (l<=r){m=(l+r)/2;if (jud(m)) ans=m,l=m+1;else r=m-1;}printf("%d",ans);
}

bzoj1567: [JSOI2008]Blue Mary的战役地图相关推荐

  1. BZOJ1567 [JSOI2008]Blue Mary的战役地图(二分+二维hash)

    题意 问边长为n的两个正方形中最大的相等子正方形.(n<=50) 题解 用到了二维hash,感觉和一维的不太一样. 对于列行有两个不同的进制数然后也是通过类似前缀和的方法差分出一个矩形的hash ...

  2. BZOJ1567 [JSOI2008]Blue Mary的战役地图

    枚举答案然后hash判断即可 矩阵就把每一行接一起hash就行了 我用了双模双base,单模单base被卡了 #include<iostream> #include<cstring& ...

  3. [BZOJ1567][JSOI2008]Blue Mary的战役地图(二分+矩阵hash)

    题目描述 传送门 题解 二分答案之后 O(n2) O(n^2)矩阵hash 就是个裸题 代码 #include<algorithm> #include<iostream> #i ...

  4. BZOJ 1567: [JSOI2008]Blue Mary的战役地图

    二次联通门 : BZOJ 1567: [JSOI2008]Blue Mary的战役地图 /*BZOJ 1567: [JSOI2008]Blue Mary的战役地图社会我栋哥人怂P话多暴力能A题正解能W ...

  5. BZOJ 1567: [JSOI2008]Blue Mary的战役地图 矩阵二维hash

    1567: [JSOI2008]Blue Mary的战役地图 Description Blue Mary最近迷上了玩Starcraft(星际争霸) 的RPG游戏.她正在设法寻找更多的战役地图以进一步提 ...

  6. BZOJ 1567: [JSOI2008]Blue Mary的战役地图( 二分答案 + hash )

    二分答案, 然后用哈希去判断... ------------------------------------------------------------------------- #include ...

  7. bzoj 1567: [JSOI2008]Blue Mary的战役地图 二维哈希

    1567: [JSOI2008]Blue Mary的战役地图 Time Limit: 10 Sec  Memory Limit: 162 MB Submit: 1199  Solved: 702 [S ...

  8. 1567: [JSOI2008]Blue Mary的战役地图

    Description Blue Mary最近迷上了玩Starcraft(星际争霸) 的RPG游戏.她正在设法寻找更多的战役地图以进一步提高自己的水平. 由于Blue Mary的技术已经达到了一定的高 ...

  9. [JSOI2008]Blue Mary的战役地图 Hash题解

    题目描述 Blue Mary最近迷上了玩Starcraft(星际争霸) 的RPG游戏.她正在设法寻找更多的战役地图以进一步提高自己的水平. 由于Blue Mary的技术已经达到了一定的高度,因此,对于 ...

最新文章

  1. 美多商城之用户登录(QQ登录)
  2. 日本光伏相关企业倒闭数量上升 帝国征信调查
  3. 行业观察(一)| 从渠道为王到数据为王——浅谈服装零售企业的数字化转型...
  4. zynq学习02 新建一个Helloworld工程
  5. Hbase 学习(三)Coprocessors
  6. mysql序列号生成_一文看懂mycat的6种全局序列号实现方式
  7. android8.0和9.0平板电脑区别,安卓9.0和8.0有什么区别? 哪个更好
  8. 微服务、容器、DevOps三者之间的关系你清楚吗?
  9. 别双击闪存盘 惊醒病毒就不得了
  10. 模糊搜索简单算法fuzzywuzzy
  11. php 多元数组,php数组_php多元数组
  12. ApacheCN C# 译文集 20211124 更新
  13. Reasoning methods include
  14. ipad适用计算机专业么,并不适合所有人 iPad Pro买前需认识这几点
  15. 雨雨cms-YYCMS5.0新版影视网源码自动采集数据-玥雅CMS
  16. 同样的代码不同环境 提示握手失败:ssl_client_socket_impl.cc handshake failed
  17. JAVA和Python HmacSHA1 算法计算API签名的实现
  18. Adobe Acrobat DC 2022 直装版
  19. 阿里云安骑士和态势感知SAS有区别吗?
  20. 楼宇自控系统 建筑设备监控系统 触摸屏图库 昆仑通态触摸屏专用 \触摸屏组态图库

热门文章

  1. linux数据库awr报告,手动生成AWR报告
  2. 获取oracle的awr报告,获取Oracle数据库awr报告方法
  3. SpringCloud (六) --------- Hystrix Dashboard 与 Hystrix Turbine
  4. CDH安装kafka组件启动失败
  5. 洛谷 P1325 雷达安装 贪心
  6. java设计模式-状态模式
  7. 浅谈设计模式之状态机模式
  8. 贪心算法:洛谷P1803凌乱的yyy解析(java)
  9. 集成电路相关电子书3
  10. java-byte转换16进制,10进制,2进制,BCD,ASCII等