~psd面试 求最长回文序列 DP求解
链接:https://www.nowcoder.com/acm/contest/90/D
来源:牛客网
于是他用英文写了一篇简历,由于手速太快了以致自己都不知道写了什么。
然而面试官 xwc 一眼就看到了重点:大学打过 ACM!
xwc:“
听说你很低袄?考你个题:
忽略字母大小写,你这篇简历去掉最长的回文子序列后还有多长?
”
psd 顺手就把这个问题抛给了你。
输入描述:
多组输入,每组输入一个长度不超过 1234 的没空格的字符串,是 psd 的简历。
输出描述:
每组输出一个整数,如题。
输入例子:
输出例子:
2
-->
输入
输出
2
输入
aBc,bAd
输出
2
可以删除其中几个元素 求出最长回文序列的长度 dp[i][j]表示 i->j 的最长的回文序列
if (s[i]==s[j]) dp[i][j]=dp[i+1][j-1]+2;
else dp[i][j]=max(dp[i+1][j],dp[i][j-1]) ;
这个转移方程特别容易理解
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; const int maxn=;
int dp[][];
char s[];
int main(){
while(scanf("%s",s)!=EOF){
int n=strlen(s);
for (int i= ;i<n ;i++){
s[i]=tolower(s[i]);
dp[i][i]=;
}
for (int i=n- ;i>=;i--){
for (int j=i+ ;j<n ;j++ ){
if (s[i]==s[j]) dp[i][j]=dp[i+][j-]+;
else dp[i][j]=max(dp[i+][j],dp[i][j-]) ;
}
}
printf("%d\n",n-dp[][n-]);
}
return ;
}
~psd面试 求最长回文序列 DP求解的更多相关文章
- HDU 4681 string 求最长公共子序列的简单DP+暴力枚举
先预处理,用求最长公共子序列的DP顺着处理一遍,再逆着处理一遍. 再预处理串a和b中包含串c的子序列,当然,为了使这子序列尽可能短,会以c 串的第一个字符开始 ,c 串的最后一个字符结束 将这些起始位 ...
- Codeforces Round #538 (Div. 2) D. Flood Fill 【区间dp || LPS (最长回文序列)】
任意门:http://codeforces.com/contest/1114/problem/D D. Flood Fill time limit per test 2 seconds memory ...
- 算法复习——求最长不下降序列长度(dp算法)
题目: 题目背景 161114-练习-DAY1-AHSDFZ T2 题目描述 有 N 辆列车,标记为 1,2,3,…,N.它们按照一定的次序进站,站台共有 K 个轨道,轨道遵从先进先出的原则.列车进入 ...
- HDU - 1087 Super Jumping!Jumping!Jumping!(dp求最长上升子序列的和)
传送门:HDU_1087 题意:现在要玩一个跳棋类游戏,有棋盘和棋子.从棋子st开始,跳到棋子en结束.跳动棋子的规则是下一个落脚的棋子的号码必须要大于当前棋子的号码.st的号是所有棋子中最小的,en ...
- 问题 B: 【例9.3】求最长不下降序列(基础dp)
问题 B: [例9.3]求最长不下降序列 时间限制: 1 Sec 内存限制: 128 MB提交: 318 解决: 118[提交][状态][讨论版][命题人:quanxing] 题目描述 设有由n( ...
- 动态规划求最长公共子序列(Longest Common Subsequence, LCS)
1. 问题描述 子串应该比较好理解,至于什么是子序列,这里给出一个例子:有两个母串 cnblogs belong 比如序列bo, bg, lg在母串cnblogs与belong中都出现过并且出现顺序与 ...
- manacher算法求最长回文子序列
一:背景 给定一个字符串,求出其最长回文子串.例如: s="abcd",最长回文长度为 1: s="ababa",最长回文长度为 5: s="abcc ...
- JDOJ 1929: 求最长不下降序列长度
JDOJ 1929: 求最长不下降序列长度 JDOJ传送门 Description 设有一个正整数的序列:b1,b2,-,bn,对于下标i1<i2<-<im,若有bi1≤bi2≤-≤ ...
- Vulnerable Kerbals CodeForces - 772C【拓展欧几里得建图+DAG上求最长路】
根据拓展欧几里得对于同余方程 $ax+by=c$ ,有解的条件是 $(a,b)|c$. 那么对于构造的序列的数,前一个数 $a$ 和后一个数 $b$ ,应该满足 $a*x=b(mod m)$ 即 $ ...
随机推荐
- 我的Java设计模式-责任链模式
今天来说说程序员小猿和产品就关于需求发生的故事.前不久,小猿收到了产品的需求. 产品经理:小猿,为了迎合大众屌丝用户的口味,我们要放一张图,要露点的. 小猿:......露点?你大爷的,让身为正义与纯 ...
- FusionWidgets DrawingPad图
1.数据源 DrawingPad.xml: <?xml version="1.0" encoding="UTF-8"?> <chart bgC ...
- 初试 Windows XP Embedded 系统开发1
目前 Windows PE(Preinstallation Environment)和 Windows XP Embedded 是可以脱离主机里的硬盘独立运行的 Windows 操作系统,Window ...
- 超链接a标签的属性target的可选值有哪些以及区别
超链接a标签的属性target的可选值有哪些以及区别 1.<a target="_blank"></a> 2.<a target="_par ...
- Servlet.service() for Servlet jsp threw exception javax.servlet.ServletException:File "/pageFoo
1.错误描述 Servlet.service() for Servlet jsp threw exception javax.servlet.ServletException:File "/ ...
- Linux显示内存状态
Linux显示内存状态 youhaidong@youhaidong-ThinkPad-Edge-E545:~$ free total used free shared buffers cached M ...
- 复制粘贴之插件(clipboard.min.js)不需要安装flash
<!DOCTYPE html> <html> <head> <title>ZeroClipboard Test</title> <me ...
- 用VSCode开发一个asp.net core2.0+angular5项目(5): Angular5+asp.net core 2.0 web api文件上传
第一部分: http://www.cnblogs.com/cgzl/p/8478993.html 第二部分: http://www.cnblogs.com/cgzl/p/8481825.html 第三 ...
- [Lugu3380]【模板】二逼平衡树(树套树)
题面戳我 您需要写一种数据结构来维护一个有序数列,其中需要提供以下操作: 1.查询k在区间内的排名 2.查询区间内排名为k的值 3.修改某一位值上的数值 4.查询k在区间内的前驱(前驱定义为严格小于x ...
- BZOJ2693jzptab
简单般Bzoj2154: Crash的数字表格 Sol 增加了数据组数T<=10000 推到 \(ans=\sum_{d=1}^{N}d*\sum_{i=1}^{\lfloor\frac{N}{ ...