分享到plurk 分享到twitter 分享到facebook

版本 a45369f70d713ca4c92c2f72b13de34ffa26784b

acm/course/LIS

Week 6: LIS(Longest Increasing Subsequence )

  • increasing: 嚴格遞增
  • subsequence: sub + sequence 。 sub 有著「次要」的意思,而 sequence 是指數學之中的「數列」、「序列」。
  • LIS: 指一個 sequence 當中,它擁有最長的長度、且嚴格遞增的那些 subsequence (不一定只有一個)。
    • ex.1 3 5 2 9 的 LIS 是 1 3 5 9 這個 subsequence 。

##Dynamic Programming 概念

Recurence:
length(n) =  max  { length(i) + 1 : if s[i] < s[n] }
           0≤i≤n-1

n:第0項到第n項的LIS。
length(n):第0項到第n項的LIS長度。
s[n]:第n項數值。