HDU 2859 Phalanx(二维DP)
题目链接: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)相关推荐
- Phalanx——二维dp
原题: Today is army day, but the servicemen are busy with the phalanx for the celebration of the 60th ...
- hdu 1227(二维dp)
题意:有n个餐馆,k个仓库,问如何放置仓库使得n个餐馆到最近的仓库的总距离最小. 解题思路:这道题看似很难,其实仔细想想就是一个水题.如果能够确定仓库的位置,那么就很简单了,关键是如何给仓库定位呢,d ...
- 2020 年百度之星·程序设计大赛 - 初赛一 Dec 二维DP,预处理
problem Dec Accepts: 1284 Submissions: 4572 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 327 ...
- Efficient Exchange DP 二维DP
YouhaverecentlyacquiredanewjobattheBankforAcquiring Peculiar Currencies. Here people can make paymen ...
- CDOJ 1347柱爷的矩阵(二维dp)
柱爷的矩阵 Time Limit: 125/125MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submit Stat ...
- P2380 狗哥采矿 (二维dp)
原题链接:狗哥采矿 - 洛谷 思路:我一开始想的是,一个点往左走还是往上走与 它上面和左边的点走的方向有关系,但是感觉复杂交错.....然后看到了大佬的二维dp,其实Aij往左走,就让它左边的这一条都 ...
- P1719 最大加权矩形(二维dp)
P1719 最大加权矩形(二维dp) 原题戳这里 题目描述 为了更好的备战NOIP2013,电脑组的几个女孩子LYQ,ZSC,ZHQ认为,我们不光需要机房,我们还需要运动,于是就决定找校长申请一块电脑 ...
- HDU-1493 QQpet exploratory park(概率+二维dp)
第一次做dp 题目 扔骰子,给出扔出每个点的概率,求出到达特定点的概率是多少..这里所有特定点的和并不是100%,每个特定点的计算是将每一次(共十次)经过它的概率都加起来求和.得到100%的情况是将每 ...
- 信息学奥赛一本通1267:【例9.11】01背包问题(二维dp与滚动数组优化)
[题目描述] 一个旅行者有一个最多能装 MM 公斤的背包,现在有 nn 件物品,它们的重量分别是W1,W2,...,WnW1,W2,...,Wn,它们的价值分别为C1,C2,...,CnC1,C2,. ...
最新文章
- MyBatis的foreach语句详解
- 数据的设计命名的十个要点
- c语言刷新输出_在fx-9860系列上用C语言编程
- 第二章 PX4-Pixhawk-RCS启动文件解析
- java面试题(转载其他人,方便日常看)
- 40、使用javassit操作运行时字节码文件
- 为什么大学打印店老板多是湖南人?
- 1424 零树 (树形DP)
- 应用编辑器保存的htnl代码怎么正常显示在页面上
- (转)机器学习算法比较
- ghostscript9.26交叉编译
- 2021年终总结——工作第四年
- 浅析物联网行业市场最新发展趋势
- 研究生学习初入门之导师大致方向
- L1-040 最佳情侣身高差 (10 分)java
- PixiJS 渲染优化
- 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】
- 第三章 表格、列表和表单(黑马程序员课程笔记)
- omnet++构架与源码分析(1)
- 湖南hp服务器虚拟化解决方案,HP刀片服务器虚拟化整合解决方案.doc
热门文章
- MAC OS上JAVA1.6 升级1.7,以及 maven3.2.1配置
- POJ 1273 Drainage Ditches 最大流
- 无需格式转换直接发布DWG图纸到Autodesk Infrastructure Map Server(AIMS) 2013
- OpenDDS通讯中rtps_discovery对等发现的基本配置和说明
- 网络编程项目(聊天室项目)
- dspmq dspmqver command not found(dspmq命令找不到,dspmqver主安装目录设置不正确
- 安卓开发 新浪微博share接口实现发带本地图片的微博
- android学习者优秀网址推荐
- Linux服务器安全设置总结
- IT综合管理 新时期的运维管理思路