首页 > TAG信息列表 > 文字串

2044:【例5.12】回文字串

    #include <iostream> #include <algorithm> using namespace std; string s,t; int main() { getline(cin,s); s=s.substr(0,s.size()-1); t=s; reverse(t.begin(),t.end()); if(t==s) cout << "Yes" <<

[IOI2000] 回文字串 / [蓝桥杯 2016 省] 密码脱落(dp)

简单分析, 本题属于$2D/0D$问题,所以空间复杂度为$n^2$, 时间复杂度也是$n^2$ 这里我们定义$dp$方程$dp[i][j]$为i到j的子字符串变为回文字符串需要插入的字符的个数 初始化$dp[i][j]$为$inf$, $dp[i][i] = 0$ 显然$dp[i]j[j]$可以从$dp[i + 1][j - 1]$转移过来, 也可以从$dp[i +

动态规划----最长回文字串

给你一个字符串 s,找到 s 中最长的回文子串。 示例 1: 输入:s = "babad"输出:"bab"解释:"aba" 同样是符合题意的答案。示例 2: 输入:s = "cbbd"输出:"bb"示例 3: 输入:s = "a"输出:"a"示例 4: 输入:s = "ac"输出:"a" 思路:可以分割为子问题,即用动态规划去写

P1435 回文字串(LCS问题)

题目背景 IOI2000第一题 题目描述 回文词是一种对称的字符串。任意给定一个字符串,通过插入若干字符,都可以变成回文词。此题的任务是,求出将给定字符串变成回文词所需要插入的最少字符数。 比如 “Ab3bd”插入2个字符后可以变成回文词“dAb3bAd”或“Adb3bdA”,但是插入少于2个的

P1435 回文字串(DP)

题目描述 回文词是一种对称的字符串。任意给定一个字符串,通过插入若干字符,都可以变成回文词。此题的任务是,求出将给定字符串变成回文词所需要插入的最少字符数。 比如 “Ab3bd”插入2个字符后可以变成回文词“dAb3bAd”或“Adb3bdA”,但是插入少于2个的字符无法变成回文词。 注:此问