http://poj.org/problem?id=1159

题意 : 给定一个字符串,问最少插入多少字符,使该字符串变成回文串

思路 : 设原字符串序为X,逆序列为Y,则最少需要补充的字母数 = X的len减去X和Y的最长公共子序列的长度,又是一个动态规划问题,这个题的数据范围到5000,倒不是说会超时,但是会超内存,在书上看了一个很好的方法就是滚动数组,感觉挺新鲜的,也挺厉害的,但是滚动数组只节省空间,不省时间

#include<iostream>
#include<string>
#include<cmath>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std ;
int dp[][];
int main()
{
string s1,s2 ;
int n,i,j ;
while(cin >> n)
{
cin>>s1 ;
s2 = s1 ;
reverse(s1.begin(),s1.end());
memset(dp,,sizeof(dp)) ;
for(i = ; i <= n ; i++)
{
for(j = ; j <= n ; j++)
{
dp[i%][j] = max(dp[(i-)%][j],dp[i%][j-]) ;
if(s1[i-] == s2[j-])
{
int temp = dp[(i-)%][j-]+ ;
dp[i%][j] = max(dp[i%][j],temp);
}
}
}
cout<<n-dp[n%][n]<<endl ;
}
return ;
}

POJ1159Palindrome的更多相关文章

  1. poj1159--Palindrome(dp:最长公共子序列变形 + 滚动数组)

    Palindrome Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 53414   Accepted: 18449 Desc ...

随机推荐

  1. linux 线程函数大全

    Technorati 标签: Linux thread 索引: 1.创建线程pthread_create 2.等待线程结束pthread_join 3.分离线程pthread_detach 4.创建线 ...

  2. The New Debugger

    在debug下有一个中文叫做杂项的选项卡下有配置的内容 里面可以配置debug的模式 有的时候一些莫名其妙的问题需要 调整里面的设置 <<SAP debug的几种方式.pdf>> ...

  3. Java设计模式之--代理模式学习

    1.代理模式定义 为其他对象提供一种代理以控制对这个对象的访问.代理对象起到中介服务,可以去掉功能服务和增加额外的服务. 其实按照官方的说法可能不太好理解,代理模式就好比我们生活中买票,一般情况下我们 ...

  4. 【风马一族_Python】 安装pip与Numpy

    ------------------------------------------------------------------------------------------------- 原因 ...

  5. mysql mmm高可用架构设计

    项目概述:搭建主从,双主,安装Perl模块  安装配置mmm软件  测试 硬件环境:4台虚拟PC 软件环境:rehl6.5 MySQL-5.6.26 percona-xtrabackup-2.3.4 ...

  6. NSS_09 gridpanel中的actioncolumn事件

    在设计角色权限时, 终于用到了grid的actioncolumn,如下: { header: '权限设定', xtype: 'actioncolumn', items: [{ icon: 'Conte ...

  7. PHP性能优化-编译级别的缓存

    最近安装了 php5.6,发现有了 opcache.so扩展文件,于是,搜索了一下,发现 zend opcache已经融入到 ph5.5以上的版本了,即兴奋,不用再去找xcache,apc,eAcce ...

  8. C# 在子线程中创建不会阻塞执行窗体

    可以参考”C# 对 Windows 窗体控件进行线程安全调用“一文来看. 在做网络连接程序的时候碰到一个问题:每当连接到来时,都创建一个新的接收线程,而该接收线程在接收到消息时,可以创建一个新的对话窗 ...

  9. WPF:实现主应用程序单一实例运行方式总结

       本文介绍常见的实现主应用程序单一实例运行的几种方式. 方式一: public partial class App : Application { protected override void ...

  10. WPF 使用定时器

    WPF 使用定时器:<ProgressBar Height="10" HorizontalAlignment="Left" Margin="28 ...