题意就是找一个 左右上下对称的正方形矩阵。

连接:http://acm.hdu.edu.cn/showproblem.php?pid=4618

没想到记忆+dp和暴力就能水过。。。

//记忆话搜索+dp
#include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std; int a[][];
char dp[][][];
int n,m;
int judge(int i,int j,int len)
{
int k;
if(i+len- >= n) return ;
if(j+len- >= m) return ;
for(k = ;k < len/;k++)
{
if(a[i+k][j] != a[i+len-k-][j])
return ;
}
for(k = ;k < len/;k++)
{
if(a[i][j+k] != a[i][j+len-k-])
return ;
}
return len;
}
int dfs(int i,int j,int len)
{
if(dp[i][j][len] != -)
return dp[i][j][len];
if(len == || len == )
return dp[i][j][len] = ;
int leap; if(judge(i,j,len))
{
leap = dfs(i+,j+,len-);
if(leap)
{
return dp[i][j][len] = ;
}
}
return dp[i][j][len] = ;
}
int main()
{
int t;
cin>>t;
int count = ;
while(t--)
{
count++;
int i,j;
scanf("%d %d",&n,&m);
for(i = ;i < n;i++)
for(j = ;j < m;j++)
scanf("%d",&a[i][j]); int len;
len = min(n,m);
int k; int ans;
ans = ;
int ai,bj;
memset(dp,-,sizeof(dp));
for(i = ;i < n;i++)
{
for(j = ;j < m;j++)
for(k = len;k >= ;k--)
{
if(k > ans)
{
if(dfs(i,j,k))
{
ans = k;
break;
}
}
}
}
printf("%d\n",ans);
}
return ;
}

暴力代码

 
 #include <iostream>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
using namespace std; int a[][];
int dp[][][];
int n,m;
int judge(int i,int j,int len)
{
int k,p;
if(i+len- >= n) return ;
if(j+len- >= m) return ;
for(p = ;p < len;p++){
for(k = ;k < len/;k++)
{
if(a[i+k][j+p] != a[i+len-k-][j+p])
return ;
}
for(k = ;k < len/;k++)
{
if(a[i+p][j+k] != a[i+p][j+len-k-])
return ;
}
}
return len;
}
int main()
{
int t; cin>>t;
int count = ;
while(t--)
{
count++;
int i,j;
scanf("%d %d",&n,&m);
for(i = ;i < n;i++)
for(j = ;j < m;j++)
scanf("%d",&a[i][j]); int len;
len = min(n,m);
int k; int ans;
ans = ;
int ai,bj;
for(i = ;i < n;i++)
{
for(j = ;j < m;j++)
for(k = len;k >= ;k--)
{
if(k > ans)
{
if(judge(i,j,k))
{
ans = k;
break;
}
}
}
}
printf("%d\n",ans);
}
return ;
}

hdu4618 Palindrome Sub-Array dp+记忆化搜索 或者直接暴力的更多相关文章

  1. 【bzoj5123】[Lydsy12月赛]线段树的匹配 树形dp+记忆化搜索

    题目描述 求一棵 $[1,n]$ 的线段树的最大匹配数目与方案数. $n\le 10^{18}$ 题解 树形dp+记忆化搜索 设 $f[l][r]$ 表示根节点为 $[l,r]$ 的线段树,匹配选择根 ...

  2. 【BZOJ】1415 [Noi2005]聪聪和可可 期望DP+记忆化搜索

    [题意]给定无向图,聪聪和可可各自位于一点,可可每单位时间随机向周围走一步或停留,聪聪每单位时间追两步(先走),问追到可可的期望时间.n<=1000. [算法]期望DP+记忆化搜索 [题解]首先 ...

  3. [题解](树形dp/记忆化搜索)luogu_P1040_加分二叉树

    树形dp/记忆化搜索 首先可以看出树形dp,因为第一个问题并不需要知道子树的样子, 然而第二个输出前序遍历,必须知道每个子树的根节点,需要在树形dp过程中记录,递归输出 那么如何求最大加分树——根据中 ...

  4. poj1664 dp记忆化搜索

    http://poj.org/problem?id=1664 Description 把M个相同的苹果放在N个相同的盘子里,同意有的盘子空着不放,问共同拥有多少种不同的分法?(用K表示)5.1.1和1 ...

  5. 状压DP+记忆化搜索 UVA 1252 Twenty Questions

    题目传送门 /* 题意:给出一系列的01字符串,问最少要问几个问题(列)能把它们区分出来 状态DP+记忆化搜索:dp[s1][s2]表示问题集合为s1.答案对错集合为s2时,还要问几次才能区分出来 若 ...

  6. ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. Poor Ramzi -dp+记忆化搜索

    ACM International Collegiate Programming Contest, Tishreen Collegiate Programming Contest (2017)- K. ...

  7. POJ 1088 DP=记忆化搜索

    话说DP=记忆化搜索这句话真不是虚的. 面对这道题目,题意很简单,但是DP的时候,方向分为四个,这个时候用递推就好难写了,你很难得到当前状态的前一个真实状态,这个时候记忆化搜索就派上用场啦! 通过对四 ...

  8. zoj 3644(dp + 记忆化搜索)

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4834 思路:dp[i][j]表示当前节点在i,分数为j的路径条数,从 ...

  9. loj 1044(dp+记忆化搜索)

    题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=26764 思路:dp[pos]表示0-pos这段字符串最少分割的回文 ...

随机推荐

  1. Sqli-labs less 38

    Less-38 学习了关于stacked injection的相关知识,我们在本关可以得到直接的运用. 在执行select时的sql语句为:SELECT * FROM users WHERE id=' ...

  2. c#实现串口操作 SerialPort

    命名空间:using System.IO.Ports;该类提供了同步 I/O 和事件驱动的 I/O.对管脚和中断状态的访问以及对串行驱动程序属性的访问. 操作类声明: SerialPort sp = ...

  3. HBase Java简单示例--转载

    Hbase采用Java实现,原生客户端也是Java实现,其他语言需要通过thritf接口服务间接访问Hbase的数据. Hbase作为大数据存储数据库,其写能力非常强,加上Hbase本身就脱胎于Had ...

  4. linux 下各个工具使用(screen、tmux,pyenv、virtualenv,pip国内源,tree)

    一.多会话工具screen.tmux 两个都是多窗口工具.1.使用后wim出现配色问题:http://ibartman.com/2014/04/16/vim%20%E9%85%8D%E8%89%B2/ ...

  5. 10个免费开源的JS音乐播放器插件

    点这里 音乐播放器在网页设计中有时候会用到,比如一些时尚类.音乐或影视类等项目,但这些 网页播放器 插件比较少见,所以这里为大家整理一个集合,也许会有用到的时候. 下面整理的播放器有些是支持自适应的, ...

  6. servlet 项目

    1.Servlet基础类,必须继承HttpServlet package com.fan; import java.io.IOException; import java.io.PrintWriter ...

  7. C# 6 —— 属性

    记录一下 C# 6 有关属性的语法糖实现,C# 6 涉及到属性的新特性主要有 2 个:自动属性初始化.只读属性赋值与读取. 自动属性初始化(Auto-property initializers) C# ...

  8. js之数组常见的方法

    主要介绍数组的一些常用的方法,方法多了,就容易混淆,结果就是方法用错,甚至不会用: 一.数组的定义: 1.字面量/直接量: var arr = [1, 2, 'js', 'java']; 2.通过内部 ...

  9. http://www.cnblogs.com/yjmyzz/p/dubbox-demo.html

    http://www.cnblogs.com/yjmyzz/p/dubbox-demo.html

  10. ios开发中超简单抽屉效果(MMDrawerController)的实现

    ios开发中,展示类应用通常要用到抽屉效果,由于项目需要,本人找到一个demo,缩减掉一些不常用的功能,整理出一个较短的实例. 首先需要给工程添加第三方类库 MMDrawerController: 这 ...