Partitioning by Palindromes UVA - 11584 简单dp
2024-09-04 17:34:31
题目:题目链接
思路:预处理出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 ;
}
最新文章
- Java 计算N阶乘末尾0的个数-LeetCode 172 Factorial Trailing Zeroes
- SAP CRM 使用Javascript触发SAP Server Event
- 在 ML2 中配置 VXLAN - 每天5分钟玩转 OpenStack(110)
- 微软的坑:Url重写竟然会引起IIS内核模式缓存不工作
- 二进制配置文件为什么比json等配置文件效率高
- Mysql 数据库之常用命令[更新中...]
- 白皮 Chapter 1
- CentOS 6忘记密码解决办法,root和普通用户均可
- <;a>;标签,鼠标经过或者停留触发延时响应事件
- 利用flexbox实现按字符长度排列dom元素
- $(&#39;div&#39;,&#39;li&#39;),$(&#39;div , li&#39;),$(&#39;div li&#39;)的区别
- 写给自己看的Linux运维基础(二) - Apache/MySQL. 安全设置. 定时任务
- 如何修改myeclipse 内存,eclipse.ini中各个参数的作用。
- 领域模型中的实体类分为四种类型:VO、DTO、DO、PO
- android-exploitme(七):高级加密
- Hadoop平台提供离线数据和Storm平台提供实时数据流
- Python进阶之路---1.1python简介
- Goldbach&#39;s Conjecture(哥德巴赫猜想)
- HTML5入门(一)—— 基本标签&;表格
- Qt中实现启动画面
热门文章
- JSP中的<;%%>;,<;%! %>;,<;%= %>;,<;%-- --%>;
- baidu-aip-SDK node.js 身份证识别
- 【起航计划 013】2015 起航计划 Android APIDemo的魔鬼步伐 12 App->;Activity->;SetWallpaper 设置壁纸 WallpaperManager getDrawingCache使用
- 【起航计划 012】2015 起航计划 Android APIDemo的魔鬼步伐 11 App->;Activity->;Save &; Restore State onSaveInstanceState onRestoreInstanceState
- Ubuntu、Windows 、Linux集合
- do..while(false)的用法总结
- jQuery 效率提升建议
- CoreData的学习
- Advanced Memory Allocation 内存分配进阶[转]
- Windows核心编程-作业