代码源动态规划初级刷题(自用)
1. dp概述
- 103 最长上升子序列

点击查看代码
const int N = 1e6 + 10;
int n, m;
int a[N], f[N];
void solve() {
cin >> n;
for (int i = 1; i <= n; i ++) cin >> a[i];
for (int i = 1; i <= n; i ++) {
f[i] = 1;
for (int j = 1; j < i; j ++) {
if (a[j] < a[i]) {
f[i] = max(f[i], f[j] + 1);
}
}
}
int ans = 0;
for (int i = 1; i <= n; i ++)
ans = max(ans, f[i]);
cout << ans << endl;
return ;
}

浙公网安备 33010602011771号