8月26———动态规划lcs

解决最长公共子序列问题:

求解的方法如图所示:

例如,设所给的两个序列为X=<A,B,C,B,D,A,B>和Y=<B,D,C,A,B,A>。由算法LCS_LENGTH和LCS计算出的结果如下图所示:

其模板可以写成

void lcss()
{
    int i,j;
    int sizex=str1.length();
    int sizey=str2.length();
    for(i=0;i<=sizex;i++)
        lcs[i][0]=0;
    for(i=0;i<=sizey;i++)
        lcs[0][i]=0;

        for(i=1;i<=sizex;i++)
            for(j=1;j<=sizey;j++)
            {
                if(str1[i-1]==str2[j-1])
                    lcs[i][j]=lcs[i-1][j-1]+1;
                else
                    lcs[i][j]=lcs[i-1][j]>=lcs[i][j-1]?lcs[i-1][j]:lcs[i][j-1];
            }    

    cout<<lcs[sizex][sizey]<<endl;
}  

也可以将数组进行压缩:

memset(lcs,0,sizeof(lcs));
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
            {
                if(str1[i-1]==str2[j-1])
                    lcs[i%2][j]=lcs[(i-1)%2][j-1]+1;
                else
                    lcs[i%2][j]=lcs[(i-1)%2][j]>lcs[i%2][j-1]?lcs[(i-1)%2][j]:lcs[i%2][j-1];
            }
    printf("%d\n",lcs[n%2][n]) ; 

训练题目:

http://acm.hdu.edu.cn/diy/contest_show.php?cid=24575

时间: 2024-11-13 11:06:43

8月26———动态规划lcs的相关文章

软考中高项学员:2016年3月26日作业

软考中高项学员:2016年3月26日作业一.质量管理1.质量管理基本原则?2.质量管理的目标?3.质量管理的主要活动有哪些?(记)4.质量管理流程包括哪四个环节?(记)(按P'DCA理解记忆)5.ISO9000质量管理的8项原则是什么?6.全面质量管理是一种全?.全?.全?的品质管理?它由结构.技术.人员.变革推动者4个要素组成.7.全面质量管理有哪4个核心的特征?8.六西格玛意为六倍标准差,在质量上表示每百万坏品率少于多少?9.六西格玛管理法的核心是什么?而DMAIC是什么意思?包括哪四个要素

POJ1080 Human Gene Functions 动态规划 LCS的变形

题意读了半年,唉,给你两串字符,然后长度不同,你可以用'-'把它们补成相同长度,补在哪里取决于得分,它会给你一个得分表,问你最大得分 跟LCS很像的DP数组 dp[i][j]表示第一个字符串取第i个元素第二个字符串取第三个元素,然后再预处理一个得分表加上即可 得分表: score['A']['A'] = score['C']['C'] = score['G']['G'] = score['T']['T'] = 5; score['A']['C'] = score['C']['A'] = -1;

4月26日上午学习日志

2017年4月26日上午继续按照昨天记忆单词的方法,把英语单词的多种词意联系起来记忆,今天听写了一下昨天所背单词,确实比以前记忆的要好,此外就看专业课视频了解了机器语言,汇编语言,高级语言.机器语言是计算机可以识别并运行的二进制代码 汇编语言是将二进制的机器码通过助记符的方式让人可以更方便的编写并检查的低级语言 汇编语言接近机器语言,可以看做是机器语言的另一种形式,计算机在运行时也需要将其变为机器语言的二进制才可运行 高级语言最接近人类语言,但机器是无法执行的,需要最终编译连接成二进制的机器代码

Linux运维学习-4——2016年7月26日

格式说明: 操作 概念 命令 说明及举例 四 du -sh /sys 查看文件.文件夹大小 /sys/class/scsi_host/host2/scan 在线扫盘(新加硬盘执行这个命令后才能发现) stat /etc/issue 更详细的看数据 蓝色:目录绿色:可执行文件浅蓝色:链接文件红色:压缩文件 创建-h文件名的文件,删除?访问?绝对路径 -:常规文件d:目录l:链接文件b:块设备(比如硬盘,有缓存)c:字符设备(不真实存在,没缓存) p:管道文件 例: 命令1 | 命令2 命令1的输出

3月26日作业

软考中高项学员:2016年3月26日作业一.质量管理1.质量管理基本原则? 答:1)以实用为核心的多元要求:2)系统工程:3)职工参与管理:4)管理层和一把手重视:5)保护消费者权益:6)面向国际市场.2.质量管理的目标? 答:1)顾客满意度:2)预防胜于检查:3)各阶段内的过程.此外,实施组织主动采纳的质量改进措施(如全面质量管理.持续改进等)不仅可以提高项目管理的质量,而且也能提高项目产品的质量.3.质量管理的主要活动有哪些?(记) 答:质量策划,质量保证与质量控制过程.4.质量管理流程包括

豪迪qq群发器2014破解版(5月26日)haodi软件QQ5.5群发

软件名称:豪迪qq群发器2014破解版(5月26日)haodi软件QQ5.5群发软件说明:官方对豪迪进行了更新,应该是针对QQ的版本升级到QQ5.5 的改变,已经针对QQ5.5测试过可以使用破解使用:(下载前后看下说明)1.小众论坛回帖下载豪迪qq群发器2014破解版(5月26日)haodi软件QQ5.5群发2.运行qqqf.exe3.运行 豪迪QQ2014破解(5月26日)破解补丁.exe  点击小众论坛破解4.开始使用吧.测试截图: 土豪下载通道:http://tuan.xzrj.cc/vi

4月26日作业

2016年4月26日作业 一.项目整体绩效评估1.*三E审计是什么的合称?(记)  答:经济审计,效率审计和效果审计2.霍尔三维结构是从哪三个方面考察系统工程的工作过程的? 答:逻辑,时间和知识3.*投资回收期的公式?(记,并理解)  答:n=-log(1-pio/a)/log(1+io)  n投资回收期,p投资的现值,io基准收益率,A年等额经营成本二.信息安全相关知识1.在三安系统三维空间示意图中,X,Y,Z轴分别代表什么意思?(记)同时,X.Y.X上分别有哪些要素?  答:x表示安全机制即

软考高项学员:2016年4月26日作业

软考高项学员:2016年4月26日作业 一.项目整体绩效评估1.三E审计是什么的合称?(记)  答:经济审计,效率审计和效果审计2.霍尔三维结构是从哪三个方面考察系统工程的工作过程的? 答:逻辑,时间和知识3.投资回收期的公式?(记,并理解)  答:n=-log(1-pio/a)/log(1+io)   n投资回收期,p投资的现值,io基准收益率,A年等额经营成本二.信息安全相关知识1.在三安系统三维空间示意图中,X,Y,Z轴分别代表什么意思?(记)同时,X.Y.X上分别有哪些要素?  答:x表

2016年3月26日作业 质量管理和人力资源管理

2016年3月26日作业 质量管理和人力资源管理一.质量管理1.质量管理基本原则? 质量管理基本原则是: 以实用为核心的多元要求 系统工程 职工参与管理 管理层和第一把手重视 保护消费者权益 面向国际市场 2.质量管理的目标? 顾客满意 预防胜于检查 各阶段内的过程 实施组织主动采纳的质量改进措施(如全面质量管理.持续改进等)不仅可以提高项目管理的质量,而且也能提高项目产品的质量 3.质量管理的主要活动有哪些?(记) 质量策划:是指确定与项目有关的质量标准,并决定如何达到这些质量标准. 质量保证