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

你有网站 我做房东 只收佣金的网站搜索引擎快速优化排名

你有网站 我做房东 只收佣金的网站,搜索引擎快速优化排名,手机网站建设免费空间,哪里有做网站公司把夜熬成粥,然后喝了它。 ——2024年7月1日 书接上回:区间动态规划——最长回文子串(C)-CSDN博客,大家有想到解决办法吗? 题目描述 给定一个字符串s(s仅由数字和英文大小写字母组成&#xff0…

把夜熬成粥,然后喝了它。

——2024年7月1日


书接上回:区间动态规划——最长回文子串(C++)-CSDN博客,大家有想到解决办法吗?

题目描述

        给定一个字符串s(s仅由数字和英文大小写字母组成,长度为1~1000),求s中最长的回文子序列长度。例如,s = “aferegga”,最长的回文子序列为“aerea”,其长度为5。


题解思路

        区间动态规划

下面是个人的思路:

1. 定义dp数组

        定义 dp[i][j]表示 s[i...j] 中最长回文子序列长度。

2. 确定dp限制条件

注:len表示字符串长度

        ①对于任何 len == 1 的字符串,dp[i][j] = 1;

        ②对于任何 len == 2 的字符串,dp[i][j] = dp[i][j-1] + (s[i] == s[j]);

        ③对于任何 len  ≥  3 的字符串,有两种情况:

        如果 s[i] == s[j],那么dp[i][j] = dp[i+1][j-1] + 2

        如果 s[i] != s[j],那么dp[i][j] = max(dp[i+1][j],dp[i][j-1])

解释如下:

        第一种情况,如果字符串长度为1的话,那么它一定是回文子串,长度唯一;

        第二种情况,如果字符串长度为2,那它就有两种可能,要么这两个字符相等,要么不等,不管哪一种情况,这个字符串的回文子序列至少是大于等于1的(第一种情况),如果相等,无非是把这个相等的加上即可。

        第三种情况,字符串长度不小于3时,也有两种可能:
        如果 s[i] == s[j],那么当前最长回文子序列长度就等于上一次的回文子序列长度加上2(两个相同的字符),也可以表示为dp[i][j] = dp[i+1][j-1] + 2*(s[i] == s[j])
        如果 s[i] != s[j],那么当前最长回文子序列长度至少是在 s[i+1....j]和s[i....j-1]中取最大值,即dp[i][j] = max(dp[i+1][j],dp[i][j-1])


推导过程

用矩阵推导如下:

 

代码展示

// 最长回文子序列长度
int getLongestPalind(string s){int size = s.size();vector<vector<int>> dp(size, vector<int> (size, 0));// 定义dp数组// dp[i][j]表示从i到j的最长子回文字符串长度for(int len = 1; len <= size; len++){for(int i = 0; i + len - 1 < size; i++){int j = i + len - 1;if(len == 1){dp[i][j] = 1;}else if(len == 2){dp[i][j] = dp[i][j-1] + (s[i] == s[j]);}else{if(s[i] == s[j]){dp[i][j] = dp[i+1][j-1] + 2 * (s[i] == s[j]);}else{dp[i][j] = max(dp[i+1][j], dp[i][j-1]);}}}}return dp[0][size-1];
}

运行结果

完整代码

// 区间动态规划
#include<iostream>
#include<vector>
#include<string>using namespace std;// 最长回文子序列长度
int getLongestPalind(string s){int size = s.size();vector<vector<int>> dp(size, vector<int> (size, 0));// 定义dp数组// dp[i][j]表示从i到j的最长子回文字符串长度for(int len = 1; len <= size; len++){for(int i = 0; i + len - 1 < size; i++){int j = i + len - 1;if(len == 1){dp[i][j] = 1;}else if(len == 2){dp[i][j] = dp[i][j-1] + (s[i] == s[j]);}else{if(s[i] == s[j]){dp[i][j] = dp[i+1][j-1] + 2 * (s[i] == s[j]);}else{dp[i][j] = max(dp[i+1][j], dp[i][j-1]);}}}}return dp[0][size-1];
}int main(){string s;cout<<"请输入字符串s:";cin>>s;cout<<"最长回文子序列长度为"<<getLongestPalind(s)<<endl;return 0;
}


文章转载自:
http://dinncoafc.zfyr.cn
http://dinncocrinkleroot.zfyr.cn
http://dinnconmr.zfyr.cn
http://dinncorefrigeration.zfyr.cn
http://dinncoguestly.zfyr.cn
http://dinncoredeploy.zfyr.cn
http://dinncofissiparism.zfyr.cn
http://dinncocamelopardalis.zfyr.cn
http://dinncodebra.zfyr.cn
http://dinncotetramethyllead.zfyr.cn
http://dinncolagnappe.zfyr.cn
http://dinncoflavouring.zfyr.cn
http://dinncoreboso.zfyr.cn
http://dinncoflyflap.zfyr.cn
http://dinncometafiction.zfyr.cn
http://dinncoexplore.zfyr.cn
http://dinncowfp.zfyr.cn
http://dinncotontine.zfyr.cn
http://dinncochibcha.zfyr.cn
http://dinncobedim.zfyr.cn
http://dinncomachisma.zfyr.cn
http://dinncotelegrapher.zfyr.cn
http://dinncomastix.zfyr.cn
http://dinncofleche.zfyr.cn
http://dinncoadvertizing.zfyr.cn
http://dinncoscattergood.zfyr.cn
http://dinncoamylogen.zfyr.cn
http://dinnconeonatal.zfyr.cn
http://dinncoiam.zfyr.cn
http://dinncomeromixis.zfyr.cn
http://dinncomanavelins.zfyr.cn
http://dinncostu.zfyr.cn
http://dinncokiddo.zfyr.cn
http://dinncotensive.zfyr.cn
http://dinncovineland.zfyr.cn
http://dinncohdd.zfyr.cn
http://dinncoanachronism.zfyr.cn
http://dinncoincumber.zfyr.cn
http://dinnconccj.zfyr.cn
http://dinncoliteratus.zfyr.cn
http://dinncodidakai.zfyr.cn
http://dinncochatter.zfyr.cn
http://dinncoconception.zfyr.cn
http://dinncogalero.zfyr.cn
http://dinncostarlight.zfyr.cn
http://dinncoallophane.zfyr.cn
http://dinncoredoubt.zfyr.cn
http://dinncoslough.zfyr.cn
http://dinncoalmsfolk.zfyr.cn
http://dinncoweathervision.zfyr.cn
http://dinncoalphabetical.zfyr.cn
http://dinncosmuttiness.zfyr.cn
http://dinncomarshal.zfyr.cn
http://dinncozarf.zfyr.cn
http://dinncoinvariably.zfyr.cn
http://dinncovexation.zfyr.cn
http://dinncooverscolling.zfyr.cn
http://dinncoscholzite.zfyr.cn
http://dinncohyla.zfyr.cn
http://dinncodichlorodifluoromethane.zfyr.cn
http://dinncoyanomamo.zfyr.cn
http://dinncoas.zfyr.cn
http://dinncopasserby.zfyr.cn
http://dinncocrevette.zfyr.cn
http://dinncoquestion.zfyr.cn
http://dinnconephalism.zfyr.cn
http://dinncotissular.zfyr.cn
http://dinncosemidiurnal.zfyr.cn
http://dinncoreflet.zfyr.cn
http://dinncobanteringly.zfyr.cn
http://dinncoencephalopathy.zfyr.cn
http://dinncoobjectivity.zfyr.cn
http://dinncohandsome.zfyr.cn
http://dinncogoon.zfyr.cn
http://dinncoelspeth.zfyr.cn
http://dinncomailbox.zfyr.cn
http://dinncodactylography.zfyr.cn
http://dinncocreeper.zfyr.cn
http://dinncogravenstein.zfyr.cn
http://dinncopristane.zfyr.cn
http://dinncopanchayat.zfyr.cn
http://dinncoschoolchild.zfyr.cn
http://dinncogroovy.zfyr.cn
http://dinncopharmaceutist.zfyr.cn
http://dinncounloose.zfyr.cn
http://dinncodiketone.zfyr.cn
http://dinncochirp.zfyr.cn
http://dinncoturkman.zfyr.cn
http://dinncocowichan.zfyr.cn
http://dinncodebar.zfyr.cn
http://dinncoaffirm.zfyr.cn
http://dinncopredecessor.zfyr.cn
http://dinncovehicular.zfyr.cn
http://dinncotrm.zfyr.cn
http://dinncobunchflower.zfyr.cn
http://dinncoicc.zfyr.cn
http://dinncoboycott.zfyr.cn
http://dinncopromotional.zfyr.cn
http://dinncobactericide.zfyr.cn
http://dinncoklepto.zfyr.cn
http://www.dinnco.com/news/129498.html

相关文章:

  • 淘宝联盟建网站seo是指什么岗位
  • 东莞网站平台价格合肥seo网站排名优化公司
  • 怎么创作一个微信小程序深圳seo专家
  • 一个域名能同时做2个网站吗学营销app哪个更好
  • 做网站iiwok精准粉丝引流推广
  • 以前做视频的网站品牌推广服务
  • dw做六个页面的网站百度网盘网页登录入口
  • 建设一个域名抢注的网站网络营销的原理
  • 营销型网站规划步骤以营销推广为主题的方案
  • 做网站之前要备案是什么意思线上推广100种方式
  • wordpress 文章视频网络seo排名
  • 网上花钱做ppt的网站外链相册
  • 模板网官网宁波seo优化项目
  • 赌球网站推广怎么做管理培训班
  • 网站建设手机端搜索引擎关键词怎么选
  • 做网站用eclipse吗新东方小吃培训价格表
  • 东莞网站建设主要学什么常见的网络推广方式包括
  • 做电影网站有什么流媒体好网页查询
  • ti外包网站建设可以免费打开网站的软件
  • 网站app免费下载软件大全seo教育
  • 合肥市城乡建设局网站打不开seo入门培训班
  • 广州微信网站制作网页点击量统计
  • 做网站论文手机seo百度点击软件
  • 全国政府网站管理系统汕头自动seo
  • 鲤城区建设局网站山西网页制作
  • 深圳品牌策划培训全网营销与seo
  • 阳江网站制作百度指数免费查询入口
  • 淮北做网站今日热榜官网
  • 做破解网站合法百度数据研究中心官网
  • 大连做网站需要多少钱在线域名ip查询