HDU 2859 Phalanx(二维dp)
来源:互联网 发布:返利平台源码 编辑:程序博客网 时间:2024/05/22 14:56
题意:
求最小的对称矩阵。
思路:
从右上角开始dp,dp[i][j]的大小可由dp[i-1][j+1]计算得到。
ps:题目不是很难,但是做题不在状态,犯了很多小错误。存入字符矩阵的时候用了%c,忘了每一行的字符末尾有个换行,gg。对称轴是左下到右上,结果程序写成左上到右下,后来发现后修改,改来改去又出现了一些小问题。
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>using namespace std;char ma[1100][1100];int dp[1100][1100];int main(){int n,x,y;while(scanf("%d",&n)&&n){getchar();for(int i=0;i<n;i++)scanf("%s",&ma[i]); memset(dp,0,sizeof(dp));for(int j=0;j<n;j++) //边缘初始化dp[0][j]=1;for(int i=0;i<n;i++)dp[i][n-1]=1; for(int i=1;i<n;i++){for(int j=n-2;j>=0;j--){dp[i][j]=1;x=i;y=j;for(int k=1;i-k>=0&&j+k<n&&k<=dp[i-1][j+1];k++){if(ma[i-k][j]==ma[i][j+k]) {dp[i][j]++;}else break; }}}int mx=dp[0][0];for(int i=0;i<n;i++){for(int j=0;j<n;j++)mx=max(mx,dp[i][j]);}printf("%d\n",mx);} return 0;}
阅读全文
0 0
- HDU 2859 Phalanx(二维DP)
- HDU 2859 Phalanx(二维dp)
- 【HDU】2859 Phalanx (DP)
- HDU 2859 Phalanx(DP)
- HDU 2859 Phalanx(DP)
- HDU 2859 Phalanx (DP)
- HDU 2859 Phalanx (DP)
- HDU 2859 Phalanx (DP)
- 【DP】 HDU 2859 Phalanx
- hdu-2859 Phalanx 【dp】
- DP-HDU-2859-Phalanx
- hdu(2859)——Phalanx(dp)
- Q - Phalanx HDU 2859 ( dp )
- HDU 2859 Phalanx 简单DP
- 简单dp,HDU 2859 Phalanx
- HDU 2859 Phalanx(dp吧~ ~ ~)
- HDU 2859 Phalanx——DP
- HDOJ 2859 Phalanx (基础DP)
- 从0到1
- 快速幂——模板
- 组合数问题(NOIP2016)
- Paramiko的艰难安装之路(所有雷都蹚了一边)
- UVA10305 Ordering Tasks(拓扑排序)
- HDU 2859 Phalanx(二维dp)
- 【编程思想】自顶向下 逐步求精
- 用PHP程序来查询数据库内容并以表格的形式输出
- 分析DispatcherServlet拦截"/"造成静态文件404
- hdu 1178
- hashMap工作原理和hash碰撞
- 指针与引用的区别
- Luogu P2687 [NOIp提高组2015]跳石头
- Python的序列(1)-列表