在一个n*n的矩阵中找到一个最大的对称矩阵(沿左下到右上这条线对称)
首先要知道,一个n*n的对称矩阵可以由两个n-1*n-1的矩阵加 左上和右下 两个元素组成
只要 左下方n-1矩阵 右上方n-1矩阵 是对称矩阵 以及 左上和右下 两个元素相等
那么这个n*n矩阵就是对称矩阵
所以就可以递推了 :
当前为k,d[i][j]存放以i,j为左上角的k*k矩阵是不是对称矩阵,d0[i][j]存放k-1的
if(a[i][j]==a[i+k-1][j+k-1]&&d0[i+1][j]&&d0[i][j+1]) d[i][j]=true;
详见代码
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
const int N=1000+10;
bool d[N][N],d0[N][N];
char a[N][N];
int n;
int main()
{while(~scanf("%d",&n)&&n){for(int i=0;i<n;i++)scanf("%s",a[i]);memset(d0,true,sizeof(d0));int ans=1;for(int k=2;k<=n;k++){int flag=0;for(int i=0;i<=n-k;i++)for(int j=0;j<=n-k;j++){if(a[i][j]==a[i+k-1][j+k-1]&&d0[i+1][j]&&d0[i][j+1]){flag++;d[i][j]=true;}elsed[i][j]=false;}if(flag) ans=k;if(flag<2) break;memcpy(d0,d,sizeof(d));}printf("%d\n",ans);}return 0;
}

HDU-2859 Phalanx相关推荐

  1. HDU 2859 Phalanx

    传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2859 解题思路: 对于每个字符看该列以上和该行右侧的字符匹配量,如果匹配量大于右上角记录下来的矩阵大小, ...

  2. HDU 2859 Phalanx (dp)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 给你一个n*n的矩阵,问你最大的对称度是多少(左下右上为对称线) dp[i][j]表示i行j列元 ...

  3. HDU 2859 Phalanx(二维DP)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859 题目大意:对称矩阵是这样的矩阵,它由"左下到右"线对称. 相应位置的元素应该 ...

  4. HDU - 2859 Phalanx (DP)

    题目: Today is army day, but the servicemen are busy with the phalanx for the celebration of the 60th ...

  5. HDU - 2859 Phalanx(动态规划/哈希表)

    题目链接:点击查看 题目大意:给定一个整数n,然后给出一个n*n的方阵,求方阵中最大的对称子方阵(对称指的是以右上角至左下角为对角线) 分析:这个题网上有个一般做法,相当于一个动态规划的小模拟,时间复 ...

  6. HDU 2859 Phalanx(DP)

    基础DP #include<iostream> #include<algorithm> #include<cstring> #include<string&g ...

  7. 动态规划训练24 [Phalanx HDU - 2859 ]

    Phalanx HDU - 2859 这是一道非常好的题目,我实在是没想到该怎么做,看了一下大神的题解才恍然大悟(还有这种操作?) 由于对称矩阵是以对称轴进行对称的(废话),所以我们可以用dp[i][ ...

  8. HDUOJ 2859 Phalanx

    HDUOJ 2859 Phalanx 题目链接 Problem Description Today is army day, but the servicemen are busy with the ...

  9. kuangbin带你飞专题合集

    题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...

  10. 算法学习经典例题整理

    陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...

最新文章

  1. 中国最大AI预训练模型发布:113亿参数!北京智源研究院、阿里、清华等联手打造...
  2. iOS架构-静态库.a之依赖第三方静态库.a的制作(8)
  3. KVM 虚拟机在 IBM System x 上应用_图文详解桥接网络配置
  4. nginx+tomcat动静分离结构
  5. SAP gateway的307重定向
  6. linux去掉某一字符开头的行
  7. .NET Core 微信小程序支付——(统一下单)
  8. 并查集入门三连:HDU1213 POJ1611 POJ2236
  9. goldilocks数据库_如何找到您的开源Goldilocks区域
  10. 构建虚拟工控环境系列 - 罗克韦尔虚拟PLC
  11. ChaiNext:过去24小时,市场情绪“燥”
  12. 一个女算法程序媛的日常
  13. 智能优化算法:蜉蝣算法 - 附代码
  14. 骁龙845_性能强大价格更吸引 超值骁龙845手机盘点
  15. php redis 里面的hscan 第四个参数count很不靠谱
  16. 操作系统期末考试重点知识
  17. 杭州雄迈拟召回一万个网络摄像头:被指引发美国网络瘫痪
  18. 实现折叠工具栏CollapsingToolbarLayout(折叠工具栏布局)
  19. python:求list的中位数
  20. cannot import name ‘_validate_lengths的解决办法

热门文章

  1. 记住你跑得快,别人跑得更快。
  2. Python——列表的方法
  3. 素数处理-埃拉托色尼筛选法(埃式筛)
  4. 【密码岛OJ】1753 马走日题解
  5. 软考(一)——数据流图
  6. golang:An operation on a socket could not be performed because the system lacked sufficient buffer s
  7. idea通过maven使用docker插件生成镜像并推送到harbor仓库
  8. IDEA中使用Docker插件构建镜像并推送至私服Harbor
  9. Ceph分布式存储系统优化分析
  10. linux配置防火墙和重启防火墙