`
yuanlanxiaup
  • 浏览: 896365 次
文章分类
社区版块
存档分类
最新评论

POJ 1080 基因序列相似度计算 动态规划

 
阅读更多
本题为典型的动态规划,关键找出序列比对的3个不同情况,即子问题

设d[i][j]为取s1第i个字符,s2第j个字符时的最大分值

则决定p为最优的情况有三种 p数组为分数矩阵

1、 s1取第i个字母,s2取“ - ”: d[i-1][j]+p[ s1[i-1] ]['-'];

2、 s1取“ - ”,s2取第j个字母:d[i][j-1]+p['-'][ s2[j-1] ];

3、 s1取第i个字母,s2取第j个字母:d[i-1][j-1]+p[ s1[i-1] ][ s2[j-1] ];

即dp[i][j]为上述三种情况的最大值

易犯错误

1、p数组的初始化,不细心的话容易犯错(因为这个低级错误WA两次- -)

2、d[0][j],d[i][0],d[0][0]边界值的赋值

Source Code

Problem: 1080 User: yangliuACMer
Memory: 568K Time: 0MS
Language: C++ Result: Accepted

分享到:
评论

相关推荐

    POJ1080-Human Gene Functions

    3. **序列比对**:可能需要将未知基因序列与已知的基因或功能区域进行比对,寻找相似性,这可能需要用到动态规划、Smith-Waterman或Needleman-Wunsch算法。 4. **生物信息学数据库查询**:可能需要访问像NCBI(美国...

    北大POJ1080-Human Gene Functions

    北大POJ1080-Human Gene Functions

    POJ 1015 动态规划

    POJ上的一道题目,自己写的代码,因为想下载别人的, 所以就放上了。

    POJ1015-Jury Compromise【动态规划DP】

    动态规划是一种解决复杂问题的有效方法,它通过将问题分解成子问题,并存储子问题的解来避免重复计算,从而提高效率。 【描述】该题目来源于北京大学的在线判题系统POJ,是编程爱好者们进行算法训练和提升编程能力...

    北大POJ初级-动态规划

    在北大POJ初级阶段,动态规划的题目可能涵盖基础的最短路径问题、最长递增子序列、矩阵链乘法、剪枝操作等。解题报告通常会包含以下几个部分: 1. **问题描述**:明确阐述题目的具体要求,包括输入和输出格式。 2. ...

    动态规划算法poj1088滑雪实验报告

    标题中的“动态规划算法poj1088滑雪实验报告”指的是使用动态规划算法解决北京大学ICPC在线测评系统POJ中编号为1088的滑雪问题。这个问题旨在通过一个直观的应用实例,帮助学习者深入理解动态规划的概念,并熟练运用...

    poj dp总结,动态规划分类

    ### poj dp总结:动态规划分类 #### 概述 动态规划(Dynamic Programming,简称DP)是一种在计算机科学和数学中广泛使用的算法策略,用于解决最优化问题。它通过将复杂问题分解为较简单的子问题来求解,并利用这些...

    poj经典动态规划题目解题报告

    poj经典动态规划题目解题报告,包括经典的动态规划题目20多道,可以作为学习动态规划系统的资料,包括题目: Pku acm 1179 Polygon Pku acm 1125 Stockbroker Grapevine Pku acm 1160 post office Pku ...

    POJ动态规划题目全面总结

    PKU Online Judge上面很全面的动态规划试题总结。动态规划是ACM考点中最重要的一大类算法之一,对于工作人员来说,动态规划也是实际开发中经常会遇到的算法。这是POJ上面很多DP题目的总结与深刻分析。利于算法学习,...

    Poj动态规划题目列表

    ### POJ动态规划题目列表解析 #### 动态规划(Dynamic Programming, DP) 动态规划是一种在计算机科学中用于解决最优化问题的方法。它通过将原问题分解为相互重叠的子问题来解决,并且存储子问题的解以避免重复...

    经典动态规划合集_牛人 树形,压缩 老题

    3.徐持衡《浅谈几类背包题》 8.徐源盛《对一类动态规划问题的研究》 背包九讲Pack 【专辑】插头DP 【专辑】单调队列+斜率优化的DP ...最长公共子序列和字符串相似度 最大矩阵连乘次数(最小连乘变形)

    POJ入门题库(含解题思路和答案)

    7. POJ——2684 求阶乘的和:涉及到高精度计算和动态规划,可能需要实现阶乘和的计算函数。 8. POJ——2687 数组逆序重放:这是一道关于数组操作的题目,可能需要掌握数组的反转算法,如双指针法。 9. POJ——2688...

    POJ-1170.rar_poj

    在编程竞赛中,动态规划通常被用来解决如背包问题、最长公共子序列、最短路径等问题。 对于POJ 1170的具体问题,由于没有给出详细描述,我们可以进行一般性的动态规划知识讲解。动态规划问题通常分为以下几步: 1....

    算法分类以及POJ题目分类

    4. 1141 Brackets Sequence:与括号匹配相关,可以使用动态规划来确定合法括号序列。 5. 1160 Post Office:经典的最短路径问题,可以使用动态规划或Floyd-Warshall算法。 6. 1458 Common Subsequence:寻找两个字符...

    POJ各题算法分类和题目推荐 ACM必看

    * 1458 Common Subsequence:本题目使用动态规划来计算两个序列的最长公共子序列。 * 1579 Function Run Fun:本题目使用动态规划来计算函数的执行次数。 * 1887 Testing the CATCHER:本题目使用动态规划来计算测试...

    ACM-POJ 算法训练指南

    2. **线段交**:计算线段是否相交及交点位置(poj3176, poj1080, poj1159)。 ### 七、概率统计 1. **概率计算**:计算随机事件的概率(POJ3252, poj1850, poj1019, poj1942)。 2. **期望值**:计算期望值问题...

    poj训练计划.doc

    - 记录状态的动态规划:如`poj3254, poj2411`。 这份训练计划不仅涵盖了基础的算法和数据结构,还深入到了更复杂的概念和技巧,如图算法中的差分约束系统、最小费用最大流,以及数据结构中的线段树和RMQ。此外,还...

    POJ-2151.rar_poj

    【标题】"POJ-2151.rar_poj"是一个与编程竞赛相关的压缩文件,主要涉及的问题是“检查问题的难度”,并且是为动态规划的实战练习而设计的。这个题目来自于著名的在线编程竞赛平台POJ(Programming Online Judge)。 ...

    poj题目分类

    * 较为复杂的动态规划:例如 poj1191、poj1054、poj3280、poj2029、poj2948、poj1925、poj3034。 数学 1. 组合数学: * 加法原理和乘法原理。 * 排列组合。 * 递推关系:例如 poj3252、poj1850、poj1019、poj...

Global site tag (gtag.js) - Google Analytics