首页 > 其他分享 >区间dp-Palindrome

区间dp-Palindrome

时间:2022-11-19 20:47:00浏览次数:72  
标签:Palindrome int st2 ans 区间 include dp

Palindrome

题意:给一个字符串,问最少加上多少个字符,可以使这个字符串成为回文串

思路一、直接dp(会爆内存)
dp[i][j]表示区间[i,j]之间有最少需要加上多少个字符
状态转移方程:如果s[i] = s[j], 则dp[i][j] = dp[i + 1][j - 1];
如果s[i] != s[j], 则dp[i][j] = max(dp[i + 1][j], dp[i][ j - 1]) + 1;

思路二、记录字符串的reverse和该字符串的最长公共子序列长度ans是多少,
长度n - ans就是最终结果
注意,需要使用滚动数组优化

#include<iostream>
#include<cstring>
#include<algorithm>
using namespace std;

const int N = 5005;
int n;
string st1, st2;
int dp[2][N];
int ans;

signed main(){
    cin >> n;
    cin >> st1;
    st2 = st1;
    reverse(st2.begin(), st2.end());
    for(int i = 1; i <= n; i++){
        for(int j = 1; j <= n; j++){
            if(st1[i - 1] == st2[j - 1]){
                dp[i%2][j] = dp[(i - 1) % 2][j - 1] + 1;
            }
            else{
                dp[i % 2][j] = max(dp[(i - 1) % 2][j], dp[i % 2][ j - 1]);
            }
            ans = max(ans, dp[i % 2][j]);
        }
    }
    cout << n - ans << endl;
    return 0;
}

标签:Palindrome,int,st2,ans,区间,include,dp
From: https://www.cnblogs.com/N-lim/p/16906972.html

相关文章

  • 强化学习代码实战-08 DDPG 算法
    PPO算法是离线学习法,样本效率利用率低,且对连续动作空间情况处理能力弱,无法精细控制DDPG-深度确定性策略梯度算法,离线学习、处理连续动作空间DDPG构造一个确定性策略,采用......
  • mysql将周转换成标准的日期格式区间
    周转换成标准的格式区间selectds,WEEKDAY(ds),emp坐席互聊组数/emp坐席沟通组数as互聊率,客户发送会话量/客户沟通数as客户日均发送会话量--concat(DATE_AD......
  • mysql将周转换成标准的日期格式区间
    周转换成标准的格式区间selectds,WEEKDAY(ds),emp坐席互聊组数/emp坐席沟通组数as互聊率,客户发送会话量/客户沟通数as客户日均发送会话量--concat(DATE_AD......
  • WordPress修改后台登录地址
    最近网站总是收到一些国外IP的恶意登录信息,多的时候一天几十次,试验了网上介绍的很多方法,像登录页面后面加参数,又或加验证码,都无法彻底解决这个问题,因为都不是人工访问该页......
  • dp题单——区间dp
    一、基本概念1、链式区间dpfor(intlen=2;len<=n;len++){//枚举区间长度 for(inti=1;i+len-1<=n;i++){//枚举左边界 intj=i+len-1;//有......
  • 20221005_T1C_思维dp
    题意一开始有\(n\)个颜色为黑白的球,但不知道黑白色分别有多少,\(m\)次操作,每次先拿出一个球,再放入黑白球各一个,再拿出一个球,最后拿出的球按顺序排列会形成一个颜色序列......
  • tcp和udp:发送和接收工具
    字符串转16进制字符串''' 主要使用到了binascii内置模块'''代码'''将字符串转为对应的16进制:params需要转换的内容:parambyteslens转换完后的长......
  • dp交换值域定义域
    前言最近心血来潮学了一下这个套路?感觉很高级qwq。正文我不好归纳,但他们大体都是一样的。T1[AGC033D]Complexity题意给定一个\(N\)行\(M\)列的字符矩阵。......
  • codeforces 2000左右dp题目练习
    栾巨的dp题单,刷完他要v我500可以提升dp水平。1.YaroslavandTwoStrings白给题,令\(f_{i,0/1,0/1}\)表示前\(i\)位,有无小于,有无大于,根据每位的字符转移即可。2.To......
  • dpm中的参数和颗粒数据读取
    rho0表示颗粒密度。sizeDistribution中的fixedvaludedistribution的value值表示颗粒直径(可以设置不同的直径分布函数和固定值)。cloudFunction中可以设置关于cloud的不同......