[蓝桥杯][2016年第七届真题]密码脱落(记忆化搜索)
题目描述
X星球的考古学家发现了一批古代留下来的密码。
这些密码是由A、B、C、D 四种植物的种子串成的序列。
仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串)。
由于年代久远,其中许多种子脱落了,因而可能会失去镜像的特征。
你的任务是:
给定一个现在看到的密码串,计算一下从当初的状态,它要至少脱落多少个种子,才可能会变成现在的样子
输入
输入一行,表示现在看到的密码串(长度不大于1000)
输出
要求输出一个正整数,表示至少脱落了多少个种子。
样例输入
ABCBA
样例输出
0
样例输入
ABDCDCBABC
样例输出
3
dotcpp平台真的是缺斤少两,不仅错误数据多而且连样例数据还不给完整了。。第二个样例是应有的。
思路:从两头开始遍历,遇见不一样的字符,这个时候我们就要考虑是从左边取比较好还是右边取比较好了,这就需要比较了。在dfs的时候,会重复遇见很多情况,因此需要记忆化一下。
代码如下:
#include<bits/stdc++.h>
#define ll long long
using namespace std;const int maxx=1e3+100;
int dp[maxx][maxx];
string s;
int n;inline int dfs(int l,int r)
{if(l==r) return dp[l][r]=0;if(l>r) return 0;if(dp[l][r]!=-1) return dp[l][r];int ans=0;int i=l,j=r;while(s[i]==s[j]&&i<=j) i++,j--;if(i<j) ans=min(dfs(i+1,j),dfs(i,j-1))+1;return dp[l][r]=ans;
}
int main()
{cin>>s;n=s.length();memset(dp,-1,sizeof(dp));int ans=dfs(0,n-1);printf("%d\n",ans);return 0;
}
努力加油a啊,(o)/~
[蓝桥杯][2016年第七届真题]密码脱落(记忆化搜索)相关推荐
- [蓝桥杯][2016年第七届真题]压缩变换(主席树求区间不同数的个数)
题目描述 小明最近在研究压缩算法. 他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比. 然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面 ...
- [蓝桥杯][2016年第七届真题]冰雹数(暴力打表找规律)
题目描述 任意给定一个正整数N, 如果是偶数,执行: N / 2 如果是奇数,执行: N * 3 + 1 生成的新的数字再执行同样的动作,循环往复. 通过观察发现,这个数字会一会儿上升到很高, 一会儿 ...
- 蓝桥杯2016年第七届真题——四平方和
四平方和 一.题目内容 题目描述 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多4个正整数的平方和,如果把0包括进去,就正好可以表示为4个数的平方和.比如:5 = 0^2 + 0^2 + ...
- 蓝桥杯2016年第七届真题-路径之谜
题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡. 城堡里边什么都没有,只有方形石头铺成的地面. 假设城堡地面是 n x n 个方格.[如图1.png]所示. 按习俗,骑士要从西北角走到东南角. ...
- 问题 1825: [蓝桥杯][2015年第六届真题]穿越雷区
问题 1825: [蓝桥杯][2015年第六届真题]穿越雷区 时间限制: 1Sec 内存限制: 128MB 提交: 310 解决: 211 题目描述 X星的坦克战车很奇怪,它必须交替地穿越正能量辐射区 ...
- [蓝桥杯][2019年第十届真题]扫地机器人(二分+贪心)
题目描述 小明公司的办公区有一条长长的走廊,由 N 个方格区域组成,如下图所 示. 走廊内部署了 K 台扫地机器人,其中第 i 台在第 Ai 个方格区域中. 已知扫地机器人每分钟可以移动到左右相邻的方 ...
- [蓝桥杯][2015年第六届真题]生命之树(树形dp)
题目描述 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值. 上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都 ...
- [蓝桥杯][2015年第六届真题]密文搜索(排序+二分)
题目描述 福尔摩斯从X星收到一份资料,全部是小写字母组成. 他的助手提供了另一份资料:许多长度为8的密码列表. 福尔摩斯发现,这些密码是被打乱后隐藏在先前那份资料中的. 请你编写一个程序,从第一份资料 ...
- [蓝桥杯][2019年第十届真题]糖果(状压dp)
题目描述 糖果店的老板一共有 M 种口味的糖果出售.为了方便描述,我们将 M 种 口味编号 1 ∼ M. 小明希望能品尝到所有口味的糖果.遗憾的是老板并不单独出售糖果,而 是 K 颗一包整包出售. 幸 ...
最新文章
- isp 图像算法(四)之white balance gain control 就是对 r,gr,gb,b 进行加权
- python去重复的数据_Python中mysql查询重复数据并删除重复数据
- python3编程教学_Python3 网络编程
- Android 动画效果及Interpolator和AnimationListener的使用
- 【CodeForces - 151D】Quantity of Strings (字符串问题,思维推导,有坑)
- mysql一列数据转为一行_MySQL高性能优化规范建议,速度收藏
- 如何利用PHP会话显示出当前在线的用户
- onu光功率多少是正常_ONU、机顶盒、路由器常见网络问题及处理方法
- 在HTTPS安全页面中加载HTTP不安全的内容,如何绕过安全警告?
- 四川传媒学院计算机应用技术分数,四川传媒学院历年各专业录取文化最低控制分数线一览表...
- 最容易扩展的光立方程序设计
- 如何调试Hola Studio
- 飞翔到你希望的遥远的地方
- 一篇文章让你搞懂如何通过Nginx来解决跨域问题
- Babel转码器(ES6)
- compareAndSwapObject
- 滴水内核中级班阶段测试题
- 注册电子邮箱帐号优点
- cocos creator 实现手机震动的效果
- 高校BBS冷笑话(下)
热门文章
- 总结以下三种方法,实现c#每隔一段时间执行代码:
- Swift5.x的UITableView纯代码演练
- 深度学习(Deep Learning):循环神经网络一(RNN)
- python写接口函数_python接口自动化测试二十:函数写接口测试
- C++11使用互斥量保护共享数据
- Android开发WebView之加载HTML源码修改HTML字体大小以及缩放HTML的方法
- Android开发之代码开发部分字符串变色
- java常用类总结_java——常用类的总结
- android阿里滑块验证码,在Android App中接入HTML5滑块验证
- 安卓-04-实例01-XML布局UI界面