UVA 11584 入门DP
2024-09-03 10:06:20
一开始把它当成暴力来做了,即,从终点开始,枚举其最长的回文串,一旦是最长的,马上就ans++,再计算另外的部分。。。结果WA了
事实证明就是一个简单DP,算出两个两个点组成的线段是否为回文,再用LCS的类似做法得到每个子结构的最优值。
#include <cstdio>
#include <cstring>
#define N 1010
char s[N];
int n,len,d[N][N],sum[N];
int min(int a,int b)
{
if (a<b) return a;
return b;
}
int ok(int a,int b)
{
for (int i=a,j=b;i<j;i++,j--)
{
if (s[i]!=s[j]) return ;
}
return ;
}
int main()
{
scanf("%d",&n);
for (int i=;i<n;i++)
{
scanf("%s",s);
len=strlen(s);
int k,q,ans=;
for (int i=;i<len;i++)
{
sum[i]=N;
for (int j=;j<=i;j++)
{
d[j][i]=ok(j,i);
}
}
sum[]=;
for (int i=;i<len;i++)
{
for (int j=;j<=i;j++)
{
//printf("%d %d %d\n",j,i,d[j][i]);
if (d[j][i])
{
int tmp;
if (j>)
{
tmp=+sum[j-];
}
else
tmp=;
sum[i]=min(sum[i],tmp);
}
}
}
printf("%d\n",sum[len-]);
}
return ;
}
最新文章
- js连等赋值
- Bootstrap_Javascript
- asp.net 的page 基类页面 做一些判断 可以定义一个基类页面 继承Page类 然后重写OnPreLoad事件
- java 20 -10 字节流四种方式复制mp3文件,测试效率
- Java基础-gs(垃圾回收)
- WIN API 擦除所绘图像
- ApkDec android反编译工具
- MySQL数据库MyISAM和InnoDB存储引擎的比较
- Maintainable HashCode and Equals Using Apache Commons
- pidof,pgrep进程名查PID, /proc目录由pid查进程名
- javascript笔记整理(数组对象)
- call, apply,bind 方法解析
- 什么是副作用(Side Effect)
- 前端教程(1)http协议的深刻理解
- hrbust 2384 相同的不相同的字符串
- [Swift]LeetCode721. 账户合并 | Accounts Merge
- Navicat Premium 最新版本12.1.16-64bit 完美破解,亲测可用!
- Vue父子传值
- MySQL报错解决方案:2013-Lost connection
- mysq