This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: The Hong Kong University of Science & Technology COMP 271: Design and Analysis of Algorithms Fall 2007 Solution to Assignment 7 Question 1 : Give an O ( n 2 ) time dynamic programming algorithm to find the longest monotonically decreasing subsequence of n numbers. For example, if the input sequence is < 5 , 23 , 4 , 17 , 12 , 45 > , then the output should be < 23 , 17 , 12 > . Solution: Input: A sequence of n numbers X = < x 1 , · · · , x n > . Output: The longest decreasing subsequence in X . Idea: We first give an algorithm which finds the length of longest decreasing subsequence; later we will modify it to report a subsequence with this length. Step 1: Space of Subproblems For 1 ≤ i ≤ n , define c [ i ] = The length of the longest decreasing subsequence that ends with x i . Note that the length of the longest decreasing subsequence in X is given by max 1 ≤ i ≤ n c [ i ]. Step 2: Recursive Formulation The longest decreasing subsequence that ends with x i has the form < Z, x...
View
Full
Document
 Spring '07
 ARYA
 Algorithms, C Programming

Click to edit the document details