A241.花匠 AC题解
2025-10-06 15:16:54
发布于:广东
2阅读
0回复
0点赞
请看一下VIP代码:
#include<bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 10;
int f[maxn][2], h[maxn], n;
int main () {
cin >> n;
for (int i = 1; i <= n; i++) {
cin >> h[i];
f[i][0] = 1;
f[i][1] = 1;
}
for (int i = 2; i <= n; i++) {
for (int j = i - 1; j >= 1; j--) {
if (h[i] > h[j]) f[i][1] = max(f[i][1], f[j][0] + 1);
if (h[i] < h[j]) f[i][0] = max(f[i][0], f[j][1] + 1);
if (f[i][0] > 1 && f[i][1] > 1) break;
}
}
cout << max(f[n][0], f[n][1]);
return 0;
}
这里空空如也







有帮助,赞一个