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

有一个网站叫浪什么邯郸专业做网站地方

有一个网站叫浪什么,邯郸专业做网站地方,电脑软件推广平台,苏州市优化网站推广哪家好给你一个字符串 s #xff0c;返回 s 中不同的非空回文子序列个数 。由于答案可能很大#xff0c;请返回对 109 7 取余 的结果。 字符串的子序列可以经由字符串删除 0 个或多个字符获得。 如果一个序列与它反转后的序列一致#xff0c;那么它是回文序列。 如果存在某个 …给你一个字符串 s 返回 s 中不同的非空回文子序列个数 。由于答案可能很大请返回对 109 7 取余 的结果。 字符串的子序列可以经由字符串删除 0 个或多个字符获得。 如果一个序列与它反转后的序列一致那么它是回文序列。 如果存在某个 i , 满足 ai ! bi 则两个序列 a1, a2, … 和 b1, b2, … 不同。 示例 1 输入s ‘bccb’ 输出6 解释6 个不同的非空回文子字符序列分别为‘b’, ‘c’, ‘bb’, ‘cc’, ‘bcb’, ‘bccb’。 注意‘bcb’ 虽然出现两次但仅计数一次。 示例 2 输入s ‘abcdabcdabcdabcdabcdabcdabcdabcddcbadcbadcbadcbadcbadcbadcbadcba’ 输出104860361 解释共有 3104860382 个不同的非空回文子序列104860361 是对 109 7 取余后的值。 提示 1 s.length 1000 s[i] 仅包含 ‘a’, ‘b’, ‘c’ 或 ‘d’ 三维DP class Solution { public:int countPalindromicSubsequences(string s) {int MOD 1e9 7;int n s.size();vectorvectorvectorint dp(4, vectorvectorint(n, vectorint(n, 0)));for(int i 0; i n; i){dp[s[i] - a][i][i] 1; }for(int len 2; len n; len){for(int i 0, j len - 1; j n; i, j){for(char c a; c d; c){char k c - a;if(s[i] c s[j] c){dp[k][i][j] (2LL dp[0][i1][j-1] dp[1][i1][j-1] dp[2][i1][j-1] dp[3][i1][j-1]) % MOD;}else if(s[i] c){dp[k][i][j] dp[k][i][j-1];}else if(s[j] c){dp[k][i][j] dp[k][i1][j];}else{dp[k][i][j] dp[k][i1][j-1];}}}}int res 0;for(int k 0; k 4; k){res (res dp[k][0][n-1]) % MOD;}return res;} };我们定义一个三维数组dp[k][i][j]来表示在i到j范围内并且以k开头的回文子序列的总数。我们在状态转移过程中可以先不断遍历i和j之间的范围len那么我们接下来继续遍历i的时候j实际上也会知道最后在最里层循环中遍历k是多少。 当s[I] s[j]的时候那么i1到j-1中的回文子序列加上两边的x都是以x为开头的回文子序列并且字符c可以构成c或者cc两个回文子序列所以有状态转移方程dp[k][i][j] (2LL dp[0][i1][j-1] dp[1][i1][j-1] dp[2][i1][j-1] dp[3][i1][j-1]) % MOD;。 首尾字符中只有 s[i] 是我们感兴趣的字符 c。 因此当前子串 s[i…j] 中以 c 为边界的回文子序列与子串 s[i…j-1] 中以 c 为边界的回文子序列是相同的因为 s[j] 不会对结果产生影响。 接下来的几种情况同理。 最后我们定义一个变量res来记录以不同字符开头的长度为n的字符串的回文子序列总数。
http://www.hkea.cn/news/14495931/

相关文章:

  • 电商网站建设与开发课程试卷促销策略的四种方式
  • 公司简介网站模板微信网站开发工具
  • 腾讯云 个人网站网站活动页面设计
  • 南宁微网站制作大连模板建站软件
  • 九易建网站的建站模板dw软件入门教程
  • 海外网站入口网站项目建设计划
  • 驻马店百牛网站建设wordpress积分充值插件
  • 网站备案注销申请表泉州seo顾问
  • 做网站找哪个平台好免费获客平台
  • 建设银行自贡分行网站长沙自动化网站建设
  • php网站建设安装环境电子书网站开发
  • 湖州建设局投标网站wordpress短信验证码
  • 林芝企业网站建设公司自己这么做网站
  • 公司flash网站模板wordpress 房产模板
  • 西宁市网站建设多少钱如何用电脑主机做网站
  • 在线做c 题的网站wordpress默认头像
  • 零六年自助建设网站做网站开发有什么专业证
  • 桂林北站附近有什么好玩的wordpress 翻页代码
  • 无锡网站建设外贸企业邮箱注册申请一般多少钱
  • 网站域名商全球新冠疫苗接种率
  • 鼓楼网站开发网站开发名片
  • 做网站的实验报告简单的网站php开发教程
  • 成都建站价格广州网站运营
  • 商务网站建设联系方式电商网站的功能
  • 潍坊网站建设策划方案江西省企业登记网络服务平台官网
  • 新手怎样自己做网站怎么建立网站模版
  • 有没有小学生做兼职的网站个人网站建设的参考文献
  • 渭南 网站集约化建设app定制开发免费
  • vscode 网站开发教程长沙做网站nn微联讯点很好
  • 网站 扁平化初三毕业适合女生学的专业