博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT A1030 动态规划
阅读量:6196 次
发布时间:2019-06-21

本文共 640 字,大约阅读时间需要 2 分钟。

clipboard.png

这道题是动态规划几大问题的其中一种,为最长回文子串问题;

动态规划个人来说,觉得最重要的就是建立状态转移方程。对于方程变量,我认为最重要的是有几个构成的关键变量;

对于这道题,我们着手于i~j个字符,所以关注点在于i和j,所以我们建立一个二维矩阵来保存动态规划途中的计算值。对于dpi,其值为1时,意为i-j的字串是回文子串,为其他值则不是;

对于状态转移方程,我们可以这样想:对于一个回文子串,其子串也是回文子串,所以就有方程转移的定律:

dpi=dpi+1

接下来就是如何遍历;

对于遍历,我们一定要保证从边界开始,并且现有计算状态必须建立在已有建立状态之上。由于转换方程的特殊性,i,j两个坐标都像两边扩散,所以我们可以根据L,也就是子串的长度来进行计算;
先将单个字符相应的值置为1,然后L=2.....至L=n;在途中记录子串的长度;

代码如下所示:

#include
#include
#include
#include
#include
using namespace std;const int maxn=1010;string data;int matrix[maxn][maxn];int main(){ getline(cin,data); int len=data.size(); for(int i=0;i

转载地址:http://odnca.baihongyu.com/

你可能感兴趣的文章
Flask入门数据库过滤器与查询集(十一)
查看>>
空客与IBM研制的首个机器人宇航员“西蒙”来了
查看>>
口水战升级,Uber称Waymo的指控“毫无根据”
查看>>
Intel和ARM中国市场的芯片之战一触即发
查看>>
「人物特写」清华大学邓志东:“特征提取+推理”的小数据学习才是AI崛起的关键...
查看>>
Opera 60 正式发布,代号 Reborn 3
查看>>
行业看点 | 传统芯片技术进入量子计算战场,硅材料或是一枚「加速器」?
查看>>
“想学吗”个人知识管理工具 6.0.10,支持发布到微信公众号
查看>>
【地平线余凯】自动驾驶处理器是人工智能产业的珠穆朗玛
查看>>
“AI+医疗”时代来临,我们还需要医生吗?
查看>>
django 1.8 官方文档翻译: 3-6-1 中间件概览
查看>>
Theano 中文文档 0.9 - 7.2.4 条件
查看>>
细则过于保守、限制较大,这就是我们看到的国内第一个自动驾驶管理细则
查看>>
CentOS 6.9搭建的网关服务器不经过静态路由表的问题解决(没有开启路由转发功能)...
查看>>
尚航科技上线8Manage FAS 企业向一体化管理转型
查看>>
高等教育加入区块链党
查看>>
「镁客·请讲」势至信服吴彬彬:从行业应用到产业社区,道阻且长,行则将至...
查看>>
迪拜迎来第一个“警察机器人”,警察这是要失业的节奏?
查看>>
Java中的继承
查看>>
Google代码风格指南
查看>>