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

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

最长公共子序列问题,经典dp
#include #include #include using namespace std;char a[2000], b[2000];int al, bl, m;int dp[2000][2000];int main() {	while (cin >> a >> b) {		al = strlen(a);		bl = strlen(b);		bool one = false;		for (int i = 0; i < al; ++i) {			if (a[i] == b[0]) {				dp[i][0] = 1;				one = true;			} else {				dp[i][0] = one ? 1 : 0;			}		}		one = false;		for (int i = 0; i < bl; ++i) {			if (a[0] == b[i]) {				dp[0][i] = 1;				one = true;			} else {				dp[0][i] = one ? 1 : 0;			}		}		m = 0;		for (int i = 1; i < al; ++i) {			for (int j = 1; j < bl; ++j) {				if (a[i] == b[j])					dp[i][j] = dp[i - 1][j - 1] + 1;				else					dp[i][j] = dp[i - 1][j] > dp[i][j - 1] ? dp[i - 1][j] : dp[i][j - 1];				if (dp[i][j] > m)					m = dp[i][j];			}		}		cout << m << endl;	}	return 0;}
 

转载于:https://www.cnblogs.com/sing1ee/archive/2012/02/07/2765013.html

你可能感兴趣的文章
Cocos2dx Widget button透明区域过滤
查看>>
使用Source Safe for SQL Server解决数据库版本管理问题
查看>>
轻量级前端MVVM框架avalon - 控制器
查看>>
POJ 3006 Dirichlet&#39;s Theorem on Arithmetic Progressions 快筛质数
查看>>
python解决处理中文的问题
查看>>
ASP.NET中进行消息处理(MSMQ) 一
查看>>
自带“软件农场”的开发环境是种什么样的体验
查看>>
Python3 配置文件 解析
查看>>
2017年数据库漏洞安全威胁报告(附完整版下载)
查看>>
css案例学习之div ul li a 实现导航效果
查看>>
docker~save与load的使用
查看>>
[LeetCode] Binary Watch 二进制表
查看>>
Scala基础入门-3
查看>>
Chapter 2. mail user agent (MUA)
查看>>
Codeforces 706B Interesting drink
查看>>
html中target的用法
查看>>
Java 锁机制 synchronized
查看>>
iOS - Mac OS X 常用快捷键
查看>>
Jmeter教程索引贴
查看>>
Andoird Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线...
查看>>