题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2859

题目大意:对称矩阵是这样的矩阵,它由“左下到右”线对称。 相应位置的元素应该相同。 例如,这里是3 * 3对称矩阵:

     cbx
     cpb
     zcc

给出任意的n*n的矩阵找出里面最大的对称的子矩阵,输出大小。

解题思路:有这样一个规律,对于每个字符看该列以上和该行右侧的字符匹配量,如果匹配量大于右上角记录下来的矩阵大小,就是右上角的数值+1,否则就是这个匹配量。根据这个规律,把n*n的点都遍历以便一,直推下去找出最大值就可以了。

代码:

 1 #include<cstdio>
 2 #include<cstring>
 3 #include<algorithm>
 4 using namespace std;
 5 const int N=1e3+5;
 6 char map[N][N];
 7 int dp[N][N];
 8
 9 int main(){
10     int n;
11     while(scanf("%d",&n)&&n){
12         memset(dp,0,sizeof(dp));
13         for(int i=1;i<=n;i++){
14             getchar();
15             for(int j=1;j<=n;j++){
16                 scanf("%c",&map[i][j]);
17             }
18         }
19         int ans=1;
20         for(int i=1;i<=n;i++){
21             for(int j=1;j<=n;j++){
22                 if(i==1||j==n){
23                     dp[i][j]=1;
24                     continue;
25                 }
26                 int t1=i,t2=j,cnt=0;
27                 while(t1>=1&&t2<=n&&map[t1][j]==map[i][t2]){
28                     t1--;
29                     t2++;
30                     cnt++;
31                 }
32                 if(cnt>=dp[i-1][j+1]+1)
33                     dp[i][j]=dp[i-1][j+1]+1;
34                 else
35                     dp[i][j]=cnt;
36                 ans=max(ans,dp[i][j]);
37             }
38         }
39         printf("%d\n",ans);
40     }
41 }

转载于:https://www.cnblogs.com/fu3638/p/7506187.html

HDU 2859 Phalanx(二维DP)相关推荐

  1. Phalanx——二维dp

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

  2. hdu 1227(二维dp)

    题意:有n个餐馆,k个仓库,问如何放置仓库使得n个餐馆到最近的仓库的总距离最小. 解题思路:这道题看似很难,其实仔细想想就是一个水题.如果能够确定仓库的位置,那么就很简单了,关键是如何给仓库定位呢,d ...

  3. 2020 年百度之星·程序设计大赛 - 初赛一 Dec 二维DP,预处理

    problem Dec Accepts: 1284 Submissions: 4572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...

  4. Efficient Exchange DP 二维DP

    YouhaverecentlyacquiredanewjobattheBankforAcquiring Peculiar Currencies. Here people can make paymen ...

  5. CDOJ 1347柱爷的矩阵(二维dp)

    柱爷的矩阵 Time Limit: 125/125MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit  Stat ...

  6. P2380 狗哥采矿 (二维dp)

    原题链接:狗哥采矿 - 洛谷 思路:我一开始想的是,一个点往左走还是往上走与 它上面和左边的点走的方向有关系,但是感觉复杂交错.....然后看到了大佬的二维dp,其实Aij往左走,就让它左边的这一条都 ...

  7. P1719 最大加权矩形(二维dp)

    P1719 最大加权矩形(二维dp) 原题戳这里 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑 ...

  8. HDU-1493 QQpet exploratory park(概率+二维dp)

    第一次做dp 题目 扔骰子,给出扔出每个点的概率,求出到达特定点的概率是多少..这里所有特定点的和并不是100%,每个特定点的计算是将每一次(共十次)经过它的概率都加起来求和.得到100%的情况是将每 ...

  9. 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)

    [题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...

最新文章

  1. MyBatis的foreach语句详解
  2. 数据的设计命名的十个要点
  3. c语言刷新输出_在fx-9860系列上用C语言编程
  4. 第二章 PX4-Pixhawk-RCS启动文件解析
  5. java面试题(转载其他人,方便日常看)
  6. 40、使用javassit操作运行时字节码文件
  7. 为什么大学打印店老板多是湖南人?
  8. 1424 零树 (树形DP)
  9. 应用编辑器保存的htnl代码怎么正常显示在页面上
  10. (转)机器学习算法比较
  11. ghostscript9.26交叉编译
  12. 2021年终总结——工作第四年
  13. 浅析物联网行业市场最新发展趋势
  14. 研究生学习初入门之导师大致方向
  15. L1-040 最佳情侣身高差 (10 分)java
  16. PixiJS 渲染优化
  17. 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】
  18. 第三章 表格、列表和表单(黑马程序员课程笔记)
  19. omnet++构架与源码分析(1)
  20. 湖南hp服务器虚拟化解决方案,HP刀片服务器虚拟化整合解决方案.doc

热门文章

  1. MAC OS上JAVA1.6 升级1.7,以及 maven3.2.1配置
  2. POJ 1273 Drainage Ditches 最大流
  3. 无需格式转换直接发布DWG图纸到Autodesk Infrastructure Map Server(AIMS) 2013
  4. OpenDDS通讯中rtps_discovery对等发现的基本配置和说明
  5. 网络编程项目(聊天室项目)
  6. dspmq dspmqver command not found(dspmq命令找不到,dspmqver主安装目录设置不正确
  7. 安卓开发 新浪微博share接口实现发带本地图片的微博
  8. android学习者优秀网址推荐
  9. Linux服务器安全设置总结
  10. IT综合管理 新时期的运维管理思路