博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态规划 Common Subsequence
阅读量:4973 次
发布时间:2019-06-12

本文共 1866 字,大约阅读时间需要 6 分钟。

描述

A subsequence of a given sequence is the given sequence with some elements (possible none) left out. Given a sequence X = <x1, x2, ..., xm> another sequence Z = <z1, z2, ..., zk> is a subsequence of X if there exists a strictly increasing sequence <i1, i2, ..., ik> of indices of X such that for all j = 1,2,...,k, xij = zj. For example, Z = <a, b, f, c> is a subsequence of X = <a, b, c, f, b, c> with index sequence <1, 2, 4, 6>. Given two sequences X and Y the problem is to find the length of the maximum-length common subsequence of X and Y. 

输入

The program input is from a text file. Each data set in the file contains two strings representing the given sequences. The sequences are separated by any number of white spaces. The input data are correct. 

输出

For each set of data the program prints on the standard output the length of the maximum-length common subsequence from the beginning of a separate line.

样例输入

abcfbc abfcab

programming contest
abcd mnp

样例输出

 4

 2
 0

一道非常简单的动态规划题,菜鸡小白正在研究之中

#include 
#include
#include
#define N 1001#include
using namespace std;int a[N][N];int main(){ int n, m, j, k, i; string x, y; while (cin >> x >> y) { n = x.length(); m = y.length(); for (i = 0; i < n; i++) { for (j = 0; j < m; j++) { a[i][j] = 0; } } for (i = 1; i <= n; i++) { for (j = 1; j <= m; j++) { if (x[i-1] == y[j-1]) a[i][j] = a[i - 1][j - 1] + 1; else if (a[i - 1][j] > a[i][j - 1]) a[i][j] = a[i - 1][j]; else a[i][j] = a[i][j - 1]; } } cout << a[n][m] << endl; } }

 

转载于:https://www.cnblogs.com/baobao2201128470/p/8999935.html

你可能感兴趣的文章
log4j2 xml配置文件
查看>>
语音识别及其应用出现“井喷式”发展
查看>>
Android多媒体-MediaPlayer唤醒锁及音频焦点
查看>>
自定义mvc(一、二)
查看>>
SSAS动态添加分区(一)
查看>>
如何实现网页分享到微信,微博,空间
查看>>
二维几何常用运算
查看>>
POJ 1904 King's Quest (强连通分量+完美匹配)
查看>>
webstorm预览时把浏览器地址localhost改成IP
查看>>
Oracle单机Rman笔记[5]---脱机异地还原
查看>>
php无缝连接滚动
查看>>
MR案例:多文件输出MultipleOutputs
查看>>
拦截器的四种拦截方式以及Filter的执行顺序(17/4/8)
查看>>
自己实现线程池
查看>>
无法加载 Parallels 驱动器
查看>>
登录后跳转到登录前的页面
查看>>
为什么在进行Full GC之前最好进行一次Minor GC
查看>>
atom常用快捷键-mac亲测
查看>>
一个小玩具:NDK编译SDL的例子
查看>>
代码面试之串(转载)
查看>>