2 条题解
-
1
#include <bits/stdc++.h> using namespace std; const int N = 1e2 + 10; const int mod = 1e9 + 7; const int INF = 0x3f3f3f3f; const long long LLINF = 0x3f3f3f3f3f3f3f3fLL; int a[N], dp[N]; int main(){ int t; cin >> t; while(t--){ int n; cin >> n; for(int i = 1 ; i <= n ; i++){ cin >> a[i]; } for(int i = 1 ; i <= n ; i++){ dp[i] = 1; for(int j = 1 ; j < i ; j++){ if(a[j] > a[i]) dp[i] = max(dp[i], dp[j] + 1); } } int maxx = -1; for(int i = 1 ; i <= n ; i++){ maxx = max(maxx, dp[i]); } for(int i = 1 ; i <= n ; i++){ dp[i] = 1; for(int j = 1 ; j < i ; j++){ if(a[j] < a[i]) dp[i] = max(dp[i], dp[j] + 1); } } for(int i = 1 ; i <= n ; i++){ maxx = max(maxx, dp[i]); } cout << maxx << endl; } return 0; }
信息
- ID
- 2964
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 3
- 标签
- 递交数
- 161
- 已通过
- 31
- 上传者