题目大意

两只青蛙朝不同方向条,每次都到达值相同的位置,不能重复到达自己到过的地方,且不能飞跃已到过的地方

我们可以理解为这两只青蛙分别把整个序列遍历了一遍,依次走过所有的点,找到最多相同的点的个数,因为朝不同方向,且形成环,所以可以把数组扩大两倍,写两组一样的数组

每次跳完得到的必然可以理解为是一个回文子序列

这里有个例外,就是在已形成的回文子序列下 要是还有多出的点是可以加一的,因为可以令两只青蛙同时在这一点出发再去遍历回文串

DP过程

//DP过程是先从前后两个数距离范围最小的1开始,不断扩大距离,这样可以利用前面小范围来更新大范围
        //i在这里可以理解为2个数的距离
        for(int i=1;i<n;i++){
            for(int j=1;j<=n;j++){
                if(a[j] == a[j+i]){
                    dp[j][j+i] = max(dp[j+1][i+j-1]+2,dp[j][j+i]);
                }
                else
                    dp[j][j+i] = max(dp[j+1][j+i],dp[j][j+i-1]);
            }
        }

然后在范围为n-1的dp值中找最大值

和n-2的范围的dp+1中找最大值

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int N = ;
int a[N],n;
int dp[N][N];
int main()
{
while(~scanf("%d",&n)){
if(n==)
break; for(int i=;i<=n;i++){
scanf("%d",a+i);
a[n+i] = a[i];
} memset(dp,,sizeof(dp));
for(int i=;i<=*n;i++)
dp[i][i] = ; //DP过程是先从前后两个数距离范围最小的1开始,不断扩大距离,这样可以利用前面小范围来更新大范围
//i在这里可以理解为2个数的距离
for(int i=;i<n;i++){
for(int j=;j<=n;j++){
if(a[j] == a[j+i]){
dp[j][j+i] = max(dp[j+][i+j-]+,dp[j][j+i]);
}
else
dp[j][j+i] = max(dp[j+][j+i],dp[j][j+i-]);
}
} int maxn = ;
for(int i=;i<=n;i++)
maxn = max(maxn,dp[i][i+n-]);
for(int i=;i<=n;i++)
maxn=max(maxn,dp[i][i+n-]+); printf("%d\n",maxn);
}
return ;
}

最新文章

  1. sql sever获取数据库还原时间语句
  2. 使用ACE_Task管理线程
  3. union联合体
  4. Java - HttpURLConnection
  5. Form_通过Trace分析Concurrent和Form性能和异常详解(案例)
  6. VBA赋值给指定单元格
  7. C/C++面试小知识点
  8. 从零開始开发Android版2048 (五) 撤销的实现
  9. lunux命令笔记
  10. 快学Scala-第八章 继承
  11. java_XML_Dom4j
  12. bpmn-js起步
  13. idea配置git,查看git代码&amp;拉取git项目至本地
  14. YC的基本创业建议
  15. spring源码:Aware接口
  16. 如何利用 LTE/4G 伪基站+GSM 中间人攻击攻破所有短信验证
  17. jmeter(十三)常见问题及解决方法
  18. android contentprovider内容提供者
  19. OC动画:CAKeyframeAnimation
  20. (O)编写可维护的代码示例(原创)

热门文章

  1. &quot;HIBERNATE_SEQUENCE&quot; does not exist问题处理
  2. Python 学习之Virtualenv
  3. poj2573Bridge(过桥问题)
  4. React.js 简介
  5. 学习笔记 第十四章 使用CSS3动画
  6. .vue文件在phpstorm中红线解决办法
  7. 让px单位自动转换为rem的方法
  8. php(三)使用PDO链接数据库
  9. mysql 5.7安装过程中,初始化的问题
  10. qt 5中文乱码