当前位置: 首页 > wzjs >正文

安徽响应式网站推荐中国建筑劳务分包平台

安徽响应式网站推荐,中国建筑劳务分包平台,外贸网站制作方案,网站建设_网站设计 app制作题解:P8638 [蓝桥杯 2016 省 A] 密码脱落 题目传送门:P8638 密码脱落 一、题目描述 考古学家发现了一些由 A、B、C、D 四种种子组成的密码串,这些串原本是回文串(前后对称),但由于部分种子脱落&#xff…

题解:P8638 [蓝桥杯 2016 省 A] 密码脱落

题目传送门:P8638 密码脱落

一、题目描述

考古学家发现了一些由 A、B、C、D 四种种子组成的密码串,这些串原本是回文串(前后对称),但由于部分种子脱落,现在可能不再对称。我们需要计算最少脱落了多少个种子才能变成现在看到的样子。

二、题目分析

给定一个字符串,我们需要找到一个最接近它的回文串,使得当前字符串是该回文串的子序列(可以通过删除字符得到)。最少脱落数即为原字符串长度减去其最长回文子序列的长度。

三、问题思考

算法分析

  • 回文串性质:正读反读相同,如 “ABCBA”
  • 子序列:不改变字符顺序,删除任意数量字符得到的序列
  • 关键转化:最少脱落数 = 字符串长度 - 最长回文子序列长度

前置知识

  • 动态规划:用于高效计算最长回文子序列
  • 字符串反转:回文串的反转是其本身,利用此性质可以转化为最长公共子序列问题

四、动态规划思路

a. 状态表示

定义 f[i][j] 表示原字符串前 i 个字符与反转字符串前 j 个字符的最长公共子序列长度

b. 初始化

f[0][j] = f[i][0] = 0(空字符串的公共子序列长度为0)

c. 状态转移

  • s1[i-1] == s2[j-1] 时:f[i][j] = f[i-1][j-1] + 1
  • 否则:f[i][j] = max(f[i-1][j], f[i][j-1])

d. 最终结果

最少脱落数 = 字符串长度 n - f[n][n]

五、代码实现

#include <bits/stdc++.h>
using namespace std;string s1, s2;
int f[1010][1010]; // DP数组void solve() {cin >> s1;s2 = s1;reverse(s2.begin(), s2.end()); // 反转字符串int n = s1.size();for (int i = 1; i <= n; i++) {for (int j = 1; j <= n; j++) {if (s1[i-1] == s2[j-1]) {f[i][j] = f[i-1][j-1] + 1; // 字符匹配时长度+1} else {f[i][j] = max(f[i-1][j], f[i][j-1]); // 不匹配时取较大值}}}cout << n - f[n][n]; // 输出最少脱落数
}int main() {ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);solve();return 0;
}

六、重点细节

  1. 字符串索引:C++中字符串从0开始,所以比较的是s1[i-1]s2[j-1]
  2. DP数组初始化:全局数组自动初始化为0,无需手动初始化
  3. 反转字符串:通过反转将回文问题转化为LCS问题
  4. 最终计算n - f[n][n]直接得到结果

七、复杂度分析

  • 时间复杂度:O(n²),双重循环遍历字符串
  • 空间复杂度:O(n²),使用二维DP数组

八、总结

本题通过将原问题转化为最长公共子序列问题,巧妙地利用动态规划求解。关键点在于:

  1. 理解回文串与反转字符串的关系
  2. 掌握动态规划的状态转移方程
  3. 正确处理字符串索引和边界条件

这种将复杂问题转化为经典算法问题的思路,在竞赛编程中非常实用。


文章转载自:

http://ZCYx66du.txqgd.cn
http://UMkkPcMG.txqgd.cn
http://AkfpgAD3.txqgd.cn
http://fVVBIAJ6.txqgd.cn
http://l5eVd9lU.txqgd.cn
http://IVN7wumA.txqgd.cn
http://VlYd6N7f.txqgd.cn
http://lQGzhdQ0.txqgd.cn
http://7DHMxMl5.txqgd.cn
http://ZKn5r311.txqgd.cn
http://3gdgi61Y.txqgd.cn
http://DJeAuMnE.txqgd.cn
http://X12Vr4Md.txqgd.cn
http://jCYJiUmq.txqgd.cn
http://iFbYnmaI.txqgd.cn
http://pCp9vdxD.txqgd.cn
http://2v8XkML7.txqgd.cn
http://xKmB6WtF.txqgd.cn
http://m9nJINkc.txqgd.cn
http://aqeaTWuf.txqgd.cn
http://rM4mdlok.txqgd.cn
http://7ABdnHsQ.txqgd.cn
http://41yEVxpy.txqgd.cn
http://EDNCtU2j.txqgd.cn
http://tDTJYvqK.txqgd.cn
http://mRKFLXXk.txqgd.cn
http://cpZIMVaS.txqgd.cn
http://josMOWAW.txqgd.cn
http://1yQlI6fR.txqgd.cn
http://5oHvkHYF.txqgd.cn
http://www.dtcms.com/wzjs/720179.html

相关文章:

  • 信用网站建设情况wordpress网站价格
  • 北京网站建设课程培训班网站开发进度安排
  • 免费中文网站模板html华为开发平台
  • 邮箱163企业邮箱seo 网站文案模板
  • 视频解析网站是怎么做的建设企业网站都需要啥
  • win7用iis搭建网站个人网页设计作业
  • 哈尔滨网站制作公司哪家好大数据系统
  • 怎样建网站平台经典软文案例和扶贫农产品软文
  • 卖网站赚钱刚刚发生 北京严重发生
  • 网站风格包括什么分类目录网站做谷歌联盟
  • 西双版纳网站制作公司硬件开发设计公司
  • 做网站一共需要多少钱好用的wordpress
  • 网站模板小偷as3 xml 网站模板 下载
  • 金普新区城乡建设局网站取消wordpress邮箱认证
  • 电商网站建设c微fzsszai做ppt用什么软件最好
  • 高埗镇做网站想做外贸怎么找客户
  • 营商环境建设监督局网站wordpress 七牛云 ssl
  • 聊城做网站的公司效果118论坛网址之家
  • 大连住房和城乡建设网站宁波seo营销平台
  • 外贸模板网站网站建设一屏式网站
  • 域名转移影响网站访问吗室内设计接单网站
  • python制作网页教程石家庄网站seo外包
  • 个人做论坛网站免费找客户软件
  • 建设网站硬件需要做房产网站长
  • 58招聘运营网站怎么做e京汕头第一网
  • 餐饮加盟网网站建设网站开发用哪个软件好
  • 网站关键词收费免费做图片链接网站
  • 能做门户网站带论坛功能的cmswordpress 代做网站
  • 网站开发的税率是多少外贸手机网站模板
  • 创建论坛网站辽宁省城乡建设规划院网站