nyoj 36
//这一题是 nyoj 36 是一道求最长公共子序列的题,也是用dp做出来的
核心代码也就是一句,题目大概思路是先找到两组字符串里面相同的字母
在二维数组里面更新每次比较过后dp的值,空想很难理解,自己在纸上画画就知道了
实在不行就把那段代码记下来。。。
还有我一直都不明白为什么我把dp数组放在主函数和while里面
编译不过,而且我一直都怀疑二维数组没赋初值,可以显示初始值,那还要memset干嘛呢。。。。
#include <iostream>
#include <string.h>
#define Max(a,b) a>b?a:b
using namespace std;int dp[1000][1000];
int main()
{
int i,j,t,len1,len2;
cin>>t;
while(t--)
{
char a[1000],b[1000]; cin>>a;
cin>>b;
len1=strlen(a);
len2=strlen(b);
// for(i=0;i<len1;cout<<endl,i++)
// for(j=0;j<len2;j++)
// cout<<dp[i][j]<<" ";
for(i=0;i<len1;i++)
for(j=0;j<len2;j++)
dp[i+1][j+1]=((a[i]==b[j])?dp[i][j]+1:Max(dp[i+1][j],dp[i][j+1]));
cout<<dp[len1][len2]<<endl;
}
return 0;
}
nyoj 36的更多相关文章
- 最长公共子串 NYOJ 36
http://acm.nyist.net/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 ...
- NYOJ 36 LCS(最长公共子序列)
题目链接: http://acm.nyist.edu.cn/JudgeOnline/problem.php?pid=36 最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB ...
- nyoj 36 最长公共子序列【LCS模板】
最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列.tip:最长公共子序列也称作最 ...
- nyoj 36 最长公共子序列
描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列. tip:最长公共子序列也称作最长公共子串(不要求连续),英文缩写为LCS(Longest Common Subseque ...
- NYOJ 36 最长公共子序列 (还是dp)
这个好多算法书上都有,不仅限于<算法导论> 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描写叙述 咱们就不拐弯抹角了,如题.须要你做的就是写一个程序,得出最长公 ...
- nyoj 题目36 最长公共子序列
最长公共子序列 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 咱们就不拐弯抹角了,如题,需要你做的就是写一个程序,得出最长公共子序列.tip:最长公共子序列也称作最 ...
- nyoj 737 石子合并 http://blog.csdn.net/wangdan11111/article/details/45032519
http://blog.csdn.net/wangdan11111/article/details/45032519 http://acm.nyist.net/JudgeOnline/problem. ...
- NYOJ 1007
在博客NYOJ 998 中已经写过计算欧拉函数的三种方法,这里不再赘述. 本题也是对欧拉函数的应用的考查,不过考查了另外一个数论基本定理:如何用欧拉函数求小于n且与n互质所有的正整数的和. 记eule ...
- NYOJ 998
这道题是欧拉函数的使用,这里简要介绍下欧拉函数. 欧拉函数定义为:对于正整数n,欧拉函数是指不超过n且与n互质的正整数的个数. 欧拉函数的性质:1.设n = p1a1p2a2p3a3p4a4...pk ...
随机推荐
- 动态加载下拉框列表并添加onclick事件
1. js动态加载元素并设置属性 摘自(http://www.liangshunet.com/ca/201408/336848696.htm) <div id="parent&quo ...
- Java学习----运算符与表达式
一.运算符 1.算术运算符 + - * / % ++ -- public class Test7 { public static void main(String[] args) { ...
- log4net编译后命名空间找不到的问题
log4net编译后命名空间找不到的问题问题:工程A添加dll引用后,可以在代码中引入log4net的命名空间.工程B引用A.A能编译成功,B不能编译成功,提示找不到命名空间. 解决: 点击项目属性- ...
- 用zepto找到当前被选中的option
$("#dealer").find("option").not(function(){ return !this.selected }).text(); 神奇的 ...
- 周赛D题
D - D Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Description ...
- UVa 10935 - Throwing cards away I (队列问题)
原题 Throwing cards away I Given is an ordered deck of n cards numbered 1 to n with card 1 at the to ...
- bind函数
bind函数把一个本地协议地址赋予一个套接字 对于网际协议,协议地址是32位的IPv4地址或128位的IPv6与16位的TCP或UDP端口号的组合 int bind ( int sockfd, con ...
- Ant快速入门(四)-----Ant的任务(Task)
到目前为止,我们已经掌握了Ant生成文件的基本结构,以及<project.../>,<target.../>,<property.../>等元素的配置方式.而< ...
- javascript note
boolean("false") =====>true Date(1387123200000)不等于new Date(1387123200000) 用Date(1387123 ...
- Linux定时运行与开机运行任务
http://os.51cto.com/art/200805/75144.htm at命令与crontab命令 http://os.51cto.com/art/201007/211874.htm ht ...