题目:题目链接

思路:预处理出l到r为回文串的子串,然后如果j到i为回文串,dp[i] = min(dp[i], dp[j] + 1)

AC代码:

 #include <iostream>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
#include <vector>
#include <string>
#include <set>
#include <map>
#include <list>
#include <unordered_set>
#include <unordered_map>
#include <cmath> #define FRER() freopen("in.txt", "r", stdin)
#define FREW() freopen("out.txt", "w", stdout)
#define INF 0x3f3f3f3f using namespace std; const int maxn = + ; int n, len, l, r;
char str[maxn]; bool check[maxn][maxn];
int dp[maxn]; int main()
{
//FRER();
scanf("%d", &n);
while(n--) {
scanf("%s", str);
len = strlen(str);
memset(check, , sizeof(check)); for(int i = ; i < len; ++i) {
l = r = i;
while(l >= && r < len) {
if(str[l] == str[r]) {
check[l + ][r + ] = ;
--l; ++r;
}
else break;
}
l = i;
r = i + ; while(l >= && r < len) {
if(str[l] == str[r]) {
check[l + ][r + ] = ;
--l; ++r;
}
else break;
}
} memset(dp, , sizeof(dp));
for(int i = ; i <= len; ++i) {
dp[i] = dp[i - ] + ;
for(int j = ; j < i; ++j) {
if(check[j][i])
dp[i] = min(dp[i], dp[j - ] + );
}
} printf("%d\n", dp[len]);
}
return ;
}

最新文章

  1. Java 计算N阶乘末尾0的个数-LeetCode 172 Factorial Trailing Zeroes
  2. SAP CRM 使用Javascript触发SAP Server Event
  3. 在 ML2 中配置 VXLAN - 每天5分钟玩转 OpenStack(110)
  4. 微软的坑:Url重写竟然会引起IIS内核模式缓存不工作
  5. 二进制配置文件为什么比json等配置文件效率高
  6. Mysql 数据库之常用命令[更新中...]
  7. 白皮 Chapter 1
  8. CentOS 6忘记密码解决办法,root和普通用户均可
  9. &lt;a&gt;标签,鼠标经过或者停留触发延时响应事件
  10. 利用flexbox实现按字符长度排列dom元素
  11. $(&#39;div&#39;,&#39;li&#39;),$(&#39;div , li&#39;),$(&#39;div li&#39;)的区别
  12. 写给自己看的Linux运维基础(二) - Apache/MySQL. 安全设置. 定时任务
  13. 如何修改myeclipse 内存,eclipse.ini中各个参数的作用。
  14. 领域模型中的实体类分为四种类型:VO、DTO、DO、PO
  15. android-exploitme(七):高级加密
  16. Hadoop平台提供离线数据和Storm平台提供实时数据流
  17. Python进阶之路---1.1python简介
  18. Goldbach&#39;s Conjecture(哥德巴赫猜想)
  19. HTML5入门(一)—— 基本标签&amp;表格
  20. Qt中实现启动画面

热门文章

  1. JSP中的&lt;%%&gt;,&lt;%! %&gt;,&lt;%= %&gt;,&lt;%-- --%&gt;
  2. baidu-aip-SDK node.js 身份证识别
  3. 【起航计划 013】2015 起航计划 Android APIDemo的魔鬼步伐 12 App-&gt;Activity-&gt;SetWallpaper 设置壁纸 WallpaperManager getDrawingCache使用
  4. 【起航计划 012】2015 起航计划 Android APIDemo的魔鬼步伐 11 App-&gt;Activity-&gt;Save &amp; Restore State onSaveInstanceState onRestoreInstanceState
  5. Ubuntu、Windows 、Linux集合
  6. do..while(false)的用法总结
  7. jQuery 效率提升建议
  8. CoreData的学习
  9. Advanced Memory Allocation 内存分配进阶[转]
  10. Windows核心编程-作业