zju2136专题

ZJU2136 Longest Ordered Subsequence

这是一道经典的最长上升子序列问题,首先确定阶段和状态。然而每个阶段仅仅有一个状态,使用一位数组递推。 令 dp[i] 表示以 i 结尾的最长上升子序列的长度,则有 dp[i] = { max(dp[j]) + 1 | 0 <= j <i, seq[i] > seq[j] } 边界 dp[0] = 1 表示首个为结尾的最长串长度为1。 #define LOCAL#include <iost