NYOJ 37 回文字符串
来源:互联网 发布:程序员bug表情包 编辑:程序博客网 时间:2024/05/21 05:04
给你一个字符串 然后问你 最少往里添加多少个字母让他变成回文串
由于之前做过括号匹配二 所以 看到这道题 就直接往动态规划想了 定义dp[I][j] 为I ~ j中的最大回文数量 什么的 但是想了好久也没有推出来转移方程
然后看了下别人写的 看到一句话:翻转字符串 求LCS 于长度作差 既为解
感觉自己在写这道题的时候思维定式 想的太少了
#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define debug() printf("GG~~\n")using namespace std;const int N = 1005;int dp[N][N];char str[N];int main(){ int t; scanf("%d",&t); getchar(); while (t -- ) { char inver[N]; scanf("%s",str + 1); int length = strlen(str + 1); int cnt = 1; for (int i = length ; i > 0; i --) { inver[cnt ++] = str[i]; } memset(dp , 0, sizeof(dp)); for (int i = 1; i <= length; i ++) { for (int j = 1; j <= length; j ++) { if(str[i] == inver[j]) dp[i][j] = dp[i - 1][j - 1] + 1; else dp[i][j] = max(dp[i - 1][j] , dp[i][j - 1]); } } printf("%d\n",length - dp[length][length]); }}
阅读全文
0 0
- NYOJ 37 回文字符串
- nyoj 37 回文字符串
- nyoj-37-回文字符串
- nyoj 37 回文字符串
- NYOJ 37 回文字符串
- 回文字符串(nyoj 37)
- Nyoj 37 回文字符串
- Nyoj 37 回文字符串
- NYOJ 37 回文字符串
- nyoj-37 回文字符串
- NYOJ 37 回文字符串
- NYOJ 37 回文字符串
- NYOJ 37 回文字符串
- 回文字符串(NYOJ 37)
- nyoj 37 回文字符串
- nyoj 37 回文字符串
- NYOJ 37 回文字符串
- nyoj 37 回文字符串
- 配置错误:不能在此路径中使用此配置节。如果在父级别上锁定了该节,便会出现这种情况。锁定是默认设置的
- 概率与数理统计学习总结一
- Kibana5.2.2使用安装
- 凭借这四招,别说隔壁老王,神也蹭不到你家Wifi!
- 将 TensorFlow 移植到 Android手机,实现物体识别、行人检测和图像风格迁移详细教程
- NYOJ 37 回文字符串
- shell归档和压缩工具
- C#类和函数(构造函数、析构函数)
- 安卓GreenDao框架一些进阶用法整理
- css页面布局
- 基于对象的属性中能不能再有对象?
- 在ubuntu17.04下安装网易云音乐出错
- 剑指offer面试题[31]-连续数组的最大和
- Android模拟器上网