博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hihocoder 1323 回文字符串(字符串+dp)
阅读量:6186 次
发布时间:2019-06-21

本文共 737 字,大约阅读时间需要 2 分钟。

题解:

比较水的题目

dp[i][j]表示[i...j]最少改变几次变成回文字符串

那么有三种转移

dp[i][j] = dp[i+1][j-1] + s[i] != s[j]

dp[i][j] = dp[i+1][j] + 1(删除左边的字符,或者在右边添加一个字符与左边匹配)

dp[i][j] = dp[i][j-1] + 1(删除右边的字符,或者在左边添加一个字符与右边匹配)

 

#include 
#include
#include
using namespace std;char S[110];int dp[110][110];int dfs(int i, int j){ if(i >= j) return 0; if(dp[i][j] < 100) return dp[i][j]; dp[i][j] = min(dp[i][j], dfs(i+1, j) + 1); dp[i][j] = min(dp[i][j], dfs(i, j-1) + 1); dp[i][j] = min(dp[i][j], dfs(i+1, j-1) + (S[i] != S[j])); return dp[i][j];}int main(){ while(cin>>S){ int n = strlen(S); memset(dp, 1, sizeof(dp)); cout<

 

转载于:https://www.cnblogs.com/Saurus/p/7374758.html

你可能感兴趣的文章
escarpins pas cher dominateur découverte.
查看>>
代码质量管理平台Sonar
查看>>
×××服务器配置详解(二)
查看>>
log4j:WARN Please initialize the log4j system properly.警告问题
查看>>
升级ESXi Host
查看>>
Windows8消费者预览版的安装
查看>>
window2003 svchost cpu占用100% 解决方法
查看>>
ipod无法使用无线网络问题分析
查看>>
mysql 表大小写
查看>>
我的友情链接
查看>>
Linux下安装并(单节点)配置启动Kafka
查看>>
Vert.x 提供web API 译<八>
查看>>
gcc 降低版本
查看>>
YII Framework学习教程-YII的Modules(模块化)
查看>>
iOS: 在iPhone和Apple Watch之间共享数据 App Groups
查看>>
Zabbix应用之Server/Agent部署
查看>>
添加PaloAlto 8.0到EVE-NG
查看>>
开源大数据处理工具汇总(上)
查看>>
lduan server 2012 IIS 远程管理(二十六)
查看>>
kube-shell安装与使用
查看>>