POJ1159Palindrome
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的更多相关文章
- poj1159--Palindrome(dp:最长公共子序列变形 + 滚动数组)
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 53414 Accepted: 18449 Desc ...
随机推荐
- 查询sql语句所花时间
--1:下面这种是SQL Server中比较简单的查询SQL语句执行时间方法,通过查询前的时间和查询后的时间差来计算的: declare @begin_date datetime declare @e ...
- jcscriput
关于h5,相比前端的同事们都很了解了吧!h5里面有个canvas,现在用的蛮火.但是canvas里面的代码确实是有点繁多,特别是要对于图形做什么操作的时候...我昨天无意间发现了一个canvas的插件 ...
- AngularJS(11)-API
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- mysql基础三(视图、触发器、函数、存储过程、事务、防注入)
一.视图 视图是一个虚拟表(非真实存在),其本质是[根据SQL语句获取动态的数据集,并为其命名],用户使用时只需使用[名称]即可获取结果集,并可以将其当作表来使用. 1.创建视图 -格式:CREATE ...
- 全部快捷方式图标变成LNK文件怎么办
windowsLNK文件打开方式恢复 相信有些用户曾试过错误地把LNK文件打开方式更改其文件导致系统所有快捷方式都失效vista与Windows7系统还普遍使用时候相信大家会有点惊慌失措要紧下面只要大 ...
- ios6 处理内存警告
iPhone下每个app可用的内存是被限制的,如果一个app使用的内存超过20M,则系统会向该app发送Memory Warning消息.收到此消息后,app必须正确处理,否则可能出错或者出现内存泄露 ...
- IOS 基于APNS消息推送原理与实现(JAVA后台)
Push的原理: Push 的工作机制可以简单的概括为下图 图中,Provider是指某个iPhone软件的Push服务器,这篇文章我将使用.net作为Provider. APNS 是Apple Pu ...
- 帝国cms后台不停的登录成功
http://bbs.phome.net/showthread-13-305985-1.html 感谢各位的支持与帮助! e/data/adminlogin目录权限没有问题 问题在:计划任务中,刷新自 ...
- 2016 系统设计第一期 (档案一)jQuery ajax serialize()方法form提交数据
jQuery ajax serialize()方法form提交数据,有个很奇怪的问题,好像不能取到隐藏控件的值. //点击提交按钮保存数据 $('#btn_submitUser').click(fun ...
- Jquery each 的跳出 break continue
在Jquery each 中 break 是用 return false; continue 是用 return true;