POJ2533解题报告
水题一道,分析方法见前一篇博客。代码如下:
#include
using namespace std;
int a[1001], dp[1001];
int main() {
int n;
while (cin >> n) {
for (int i = 1; i <= n; ++i)
cin >> a[i];
int max = 0;
for (int i = 1; i <= n; ++i) {
dp[i] = 1;
for (int j = 1; j < i; ++j) {
if (a[j] < a[i] && dp[i] <= dp[j])
dp[i] = dp[j] + 1;
}
if (dp[i] > max) max = dp[i];
}
cout << max << endl;
}
return 0;
}
浙公网安备 33010602011771号