联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Algorithm 算法作业Algorithm 算法作业

日期:2019-02-07 09:41

Problem 18. (Difficulty 2) Recall that in the dynamic programming algorithm for finding

the length of a longest common subsequence between two strings S and T, we define

the subproblem LCS(i, j) to be the length of a longest common subsequence between the

substrings S[1..i] and T[1..j], and we have the recurrence

LCS(i, j) = (

max{LCS(i 1, j), LCS(i, j 1)} if S[i] 6= T[j]

LCS(i 1, j 1) + 1 if S[i] = T[j].

Suppose S = ALBAI and T = BILAAC. Fill out the matrix that contains the value for each

subproblem LCS(i, j).

For example, if S = ADH and T = JALH, then we have the following matrix:ij

0 1 2 3 4

0 0 0 0 0 0

1 0 0 1 1 1

2 0 0 1 1 1

3 0 0 1 1 2

Problem 19. (Difficulty 3) There are n trading posts numbered 1 to n as you travel downstream.

At any trading post i you can rent a canoe to be returned at any of the downstream

trading post j > i. You are given a cost array R, where R(i, j) is the cost of renting a canoe

from post i to j for 1 ≤ i < j ≤ n. You cannot go upstream. Design a dynamic programming

algorithm to compute the cheapest cost to get from post 1 to n. Make your algorithm as

fast as you can.

For example, suppose n = 4 and the cost matrix R(i, j) is ij

1 2 3 4

1 - 2 3 7

2 - - 2 4

3 - - - 2

4 - - - -

The cheapest way to reach post 4 from 1 is by renting a canoe from 1 to 3, and then from 3

to 4 for a total cost of 3 + 2 = 5.

Problem 20. (Difficulty 3) Describe an O(n2)-time algorithm to compute a longest increasing

subsequence of a sequence of n numbers. Note you have to output the entire sequence,

not just its length. Also recall that the elements of a subsequence need not be consecutive.

Problem 21. Given an n × n matrix A(i, j) of integers, determine in O(n2) time the maximum

value A(c, d) A(a, b) over all choices of indexes such that both c > a and d> b.


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp