题解:

dp[i]表示前i+1个字符切割需要的最少次数

     for(int i=0;i<l;i++)
        {
            dp[i]=huiwen(s.substr(0,i+1))?0:i;

           //首先判断前i+1个字符是否为回文串,如果是切割次数为0,如果不是为最大切割次数 i次

            if(dp[i]==0)  continue;//如果为回文串次数最小不用更新
            else
            {//否则更新
                for(int j=1;j<=i;j++)
                {
                    if(huiwen(s.substr(j,i-j+1)))
                    {
                        dp[i]=min(dp[i],dp[j-1]+1);//如果j到i为回文串更新
                    }
                    else
                    {
                        dp[i]=min(dp[i],dp[j-1]+i-j+1);//不是回文串也要更新找最小
                    }
                }
            }
        }        

题目描述

小T送给了小L了一串项链。为了方便,我们把项链上形态不同钻石用不同的字母表示。这样小L的项链就变成了一个字符串。小L忽然想把这串项链优美地切割一下,她想把它切割成尽量少的回文项链,啊也就是回文串。求最少的切割次数。

输入

第一行一个整数T 表示数据组数

下面T组数据,每一组数据:

只有一行,一个只有小写英文字母的字符串,字符串长度 <= 1000。

输出

对于每一组数据,输出将这个字符串能切割成最少的回文串所需切割的次数。

样例输入 Copy

2
abaacca
abcd

样例输出 Copy

1
3

来源/分类

#include<stdio.h>
#include<iostream>
#include<string.h>
#include<string>
#include<math.h>
using namespace std;
int dp[1200];
bool huiwen(string s)
{int l=s.length();int k=l-1;for(int i=0;i<l;i++){if(s[i]==s[k]){k--;}else{return false;}}return true;
}int main()
{int T;scanf("%d",&T);while(T--){memset(dp,0,sizeof(dp));string s;cin>>s;int l=s.length();for(int i=0;i<l;i++){dp[i]=huiwen(s.substr(0,i+1))?0:i;if(dp[i]==0)  continue;else{for(int j=1;j<=i;j++){if(huiwen(s.substr(j,i-j+1))){dp[i]=min(dp[i],dp[j-1]+1);}else{dp[i]=min(dp[i],dp[j-1]+i-j+1);}}}}       printf("%d\n",dp[l-1]);}          return 0;} 

小L的项链切割(dp)相关推荐

  1. 1526: 小L的项链切割

    原题链接:http://acm.zzuli.edu.cn/problem.php?id=1526 1526: 小L的项链切割 时间限制: 1 Sec  内存限制: 128 MB 题目描述 小T送给了小 ...

  2. 【NOIP模拟题】【DP】【LIS】【中缀表达式】2016.11.15 第一题 小L的二叉树 题解

    小L的二叉树 小L的二叉树 题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. [题目描述] 在计算机科学中,二 ...

  3. 【NOIP模拟题】【DP】【同余最短路】【暴力剪枝】2016.11.15 第二题 小L的牛栏 题解

    小L的牛栏 [题目描述] 小L通过泥萌的帮助,成功解决了二叉树的修改问题,并因此写了一篇论文, 成功报送了叉院(羡慕不?).勤奋又勤思的他在研究生时期成功转系,考入了北京大学光华管理学院!毕业后,凭着 ...

  4. 洛谷U4727小L的二叉树[树转序列 LIS]

    题目背景 勤奋又善于思考的小L接触了信息学竞赛,开始的学习十分顺利.但是,小L对数据结构的掌握实在十分渣渣. 所以,小L当时卡在了二叉树. 题目描述 在计算机科学中,二叉树是每个结点最多有两个子结点的 ...

  5. 《趣味知识博文》小W与小L带你聊天式备考CDA Level Ⅰ(六)

    目录 作者简介 作者名:王小王-123 人物简介 二十模拟题 每文一语  本系列文章将会以通俗易懂的聊天对话方式,进行知识点的归纳和总结,对话中涵盖了知识点的主要逻辑结构,给人一种"清水出芙 ...

  6. 《趣味知识博文》小W与小L带你聊天式备考CDA Level Ⅰ(四)

    目录 作者简介 作者名:王小王-123 人物简介 二十模拟题(含解析) 本系列文章将会以通俗易懂的聊天对话方式,进行知识点的归纳和总结,对话中涵盖了知识点的主要逻辑结构,给人一种"清水出芙蓉 ...

  7. 《趣味知识博文》小W与小L带你聊天式备考CDA Level Ⅰ(二)

    目录 作者简介 人物简介 二十模拟题(含解析) 每文一语 本系列文章将会以通俗易懂的聊天对话方式,进行知识点的归纳和总结,对话中涵盖了知识点的主要逻辑结构,给人一种"清水出芙蓉,天然去雕饰& ...

  8. 小L的算法课堂——博弈论

    嗨!这里是小L的算法课堂!我是小L 今天我们学习一下博弈论 我们先来讲一个故事: 小L和小Z喜欢玩石头剪刀布. 小L总是打不过小Z赢,于是,小L问小Z:"你是怎么赢我的?" 小Z告 ...

  9. 《趣味知识博文》小W与小L带你聊天式备考CDA Level Ⅰ(一)

    目录 强烈推荐技术专栏: 数据炫酷可视化之模板大全 Python语法入门到精通 作者简介 人物简介 小L的烦恼和疑惑

最新文章

  1. 简化可视SLAM应用程序的开发
  2. 风之语.人在职场也需要'备胎'
  3. 怎样让你的安全预算更具战略性?
  4. 新风系统风速推荐表_家用新风常用管道规格和对应风量推荐值
  5. Source Insight 4怎么取消函数结束提示字符
  6. NETBEANS_RUBYROR shortcut
  7. Ubuntu下面的Keras可视化+权重维度获取-Netron的安装使用
  8. 第二章 搭建Android开发环境 读书笔记
  9. 华为鸿蒙再次公测,华为鸿蒙开启第二轮公测,新增7款机型,有你的吗?
  10. 数据结构学习笔记(一)——《大话数据结构》
  11. bootstrap 输入错误提示_网上体育用品商城(ssm,mysql,bootstrap,html,css)
  12. 充电器input与output_变频器input和output的区别?
  13. 驾考 曲线行驶 s弯
  14. VS Visual Studio 2022调试控制台 输出不全 不完整 缺内容 少了很多代码 有屋设计拆单管理一体化软件 全屋定制拆单 橱柜衣柜整装 木门归方程序
  15. Linux 实战技巧 --vi/vim 的使用
  16. 用计算机画图教案评价,小学四年级信息技术优秀教学设计及评析《电脑图案设计师》...
  17. 不小心将 U 盘抹成 APFS 格式,应该如何恢复?
  18. 电磁波和无线电是什么
  19. 浩方电竞平台显示登录服务器失败,浩方电竞平台安装步骤及常见问题
  20. 10000+ppt免费下载领取(python爬取全站ppt)

热门文章

  1. 同样的计算机用户购买不同的,同样的计算机用户购买不同晶牌的计算机,是因为其()不同...
  2. onClick={this.handleClick()} 与 onClick={this.handleClick},onClick={ () = { this.handleClick()} }的区别
  3. Jetson Nano 踩坑记
  4. android 12.0屏蔽系统所有通知
  5. Django+vue+ElementUi 实现前后端分离项目
  6. Windows解决scoop下载错误:raw.githubusercontent.com:443
  7. 你的 OneDrive 帐户存在问题,它阻止你创建新的文档。请转到 OneDrive 了解详细信息。
  8. LeetCode3、LeetCode1171,哈希表的使用
  9. HTML背景图片动画设置,CSS 背景图加载完成后的过渡动画
  10. 使用Turtle库绘制图像----哆啦A梦