dp(最长公共子序列)
#include <iostream>
#include <iostream>
#include<cstdio>
#include<string>
#include<cstring>
#include<algorithm>
#include <stdio.h>
#include <string.h>
using namespace std;
// X = (x1 , x2 , x3 ,....,xn) , Y = (y1 , y2 , y3 ,.....,ym) //最长公共子序列。将问题分为三个子问题:
//当xn == ym 时, 在x(n-1) 和 y(m-1)的两个序列的最长公共子序列上加一。。
//当xn != ym 时, 比较 x(n-1) 和 y(m) 的两个序列的最长子序列 与 x(n)和y(m-1)的两个序列的最长子序列 的最大值
char a[1009] , b[1009];//数组大小要合理
int dp[1009][1009] ; int main()
{
while(~scanf("%s%s" , a , b))
{
memset(dp , 0 , sizeof(dp));
int m = strlen(a);
int l = strlen(b); for(int i = 0 ; i < m ; i++)
{
for(int j = 0 ; j < l ; j++)
{
if(a[i] == b[j])
{
dp[i + 1][j + 1] = dp[i][j] + 1 ;
}
else
{
dp[i + 1][j + 1] = max(dp[i][j + 1] , dp[i + 1][j]) ;
}
}
} printf("%d\n" , dp[m][l]); } return 0;
}
dp(最长公共子序列)的更多相关文章
- hdu1159 dp(最长公共子序列)
题意:给两个字符串,求这两个字符串的最长公共子序列的长度 因为之前集训的时候做过,所以现在即使会做也并不是什么稀奇的事,依旧为了自己的浅薄感到羞愧啊``` 解法就是通过两个字符串的每个字符互相比较,根 ...
- POJ 1159 Palindrome(区间DP/最长公共子序列+滚动数组)
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 56150 Accepted: 19398 Desc ...
- poj1159--Palindrome(dp:最长公共子序列变形 + 滚动数组)
Palindrome Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 53414 Accepted: 18449 Desc ...
- 经典dp 最长公共子序列
首先,说明一下子序列的定义…… 一个序列A={a1,a2,a3,...,an},从中删除任意若干项,剩余的序列叫A的一个子序列. 很明显(并不明显……),子序列……并不需要元素是连续的……(一开始的时 ...
- HDU 1159 Common Subsequence【dp+最长公共子序列】
Common Subsequence Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- POJ - 1458 Common Subsequence DP最长公共子序列(LCS)
Common Subsequence A subsequence of a given sequence is the given sequence with some elements (possi ...
- hdu 1503:Advanced Fruits(动态规划 DP & 最长公共子序列(LCS)问题升级版)
Advanced Fruits Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)T ...
- POJ1458 Common Subsequence —— DP 最长公共子序列(LCS)
题目链接:http://poj.org/problem?id=1458 Common Subsequence Time Limit: 1000MS Memory Limit: 10000K Tot ...
- HDU 1159 Common Subsequence --- DP入门之最长公共子序列
题目链接 基础的最长公共子序列 #include <bits/stdc++.h> using namespace std; ; char c[maxn],d[maxn]; int dp[m ...
- DP:LCS(最长公共子串、最长公共子序列)
1. 两者区别 约定:在本文中用 LCStr 表示最长公共子串(Longest Common Substring),LCSeq 表示最长公共子序列(Longest Common Subsequence ...
随机推荐
- eclipse codeFormatter 和 codeTemplates 模板
下载 eclipse_modles.rar 好用高效的eclipse的注释和代码风格模板. 版权声明:本文为博主原创文章,未经博主允许不得转载.
- hibernate.hbm.xml配置文件解析
转自:https://www.cnblogs.com/uoar/p/6670612.html 1. <!DOCTYPE hibernate-mapping PUBLIC "-//Hib ...
- C# 获得系统环境
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 04.Linux-CentOS系统sudo权限配置
visudo权限配置普通用户的使用权限范围配置文件: (请根据自己公司需求配置) [root@localhost ~]# visudo ## Allow root to run any command ...
- 阿里P8技术栈
- 2、Jmeter测试
一.测试流程 1.添加本次测试计划 (右键-->添加-->Threads(Users)-->线程组) 2.设置线程数 (所谓线程数就是并发用户数) 3.在线程组内添加请求(右键--& ...
- vue的class和style的绑定
<div class="input-search" :class="{input-search-focus : iscur == 1}"> 在原本有 ...
- 进程间的mutex
设两个进程共用一个临界资源的互斥信号量mutex=1,当mutex=-1时表示(). 一个进程进入了临界区,另一个进程等待 没有一个进程进入临界区 两个进程都进入临界区 两个进程都在等待 互斥信号量不 ...
- CSS3 结构性伪类选择器(2)
CSS3 结构性伪类选择器—first-child “:first-child”选择器表示的是选择父元素的第一个子元素的元素E.简单点理解就是选择元素中的第一个子元素,记住是子元素,而不是后代元素. ...
- mysql版本
$ mysql Welcome to the MariaDB monitor. Commands end with ; or \g. Your MySQL connection id is 4791 ...