Login
Register
Problem list
Online status
Huhu_Miao
:
2025-05-18 21:05:39
/** * author: Huhu_Miao * created: 2025.5.18 21:04:56 (UTC+8) **/ #include
#include
constexpr int N = 10001; int arr[N], dp[N]; void solve(){ int n; std::cin >> n; for(int i = 0 ; i < n ; i++) std::cin >> arr[i]; for(int i = 0 ; i < n ; i++){ dp[i] = 1; for(int j = i - 1 ; j >=0 ;j--) if(arr[j] <= arr[i]) dp[i] = std::max(dp[j] + 1 , dp[i]); } int * ptr = std::max_element(dp,dp+n); std::cout << *ptr << '\n'; } int main(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); int T; std::cin>>T; while(T--) solve(); return 0; }
71123140焦博宇
:
2025-05-15 11:40:37
#include
#include
#include
#include
#include
#include
using namespace std; int x[10005], dp[10005]; int main() { int M; cin >> M; for (int i = 1; i <= M; i++) { int N; cin >> N; int Max = INT_MIN; for (int i = 1; i <= N; i++) cin >> x[i]; for (int i = 1; i <= N; i++) dp[i] = 1; for (int i = 2; i <= N; i++) { for (int j = 1; j <= i - 1; j++) { if (x[j] <= x[i]) dp[i] = max(dp[j] + 1, dp[i]); } Max = max(Max, dp[i]); } cout << Max << endl; } return 0; }
Westbrook
:
2024-05-11 10:58:24
#include
#include
#include
using namespace std; const int N = 1e5 + 10; int a[N]; int f[N]; int m; int main() { cin >> m; while (m--) { memset(a, 0, sizeof a); memset(f, 0, sizeof f); int n; 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 res = 0; for (int i = 1; i <= n; i++) { res = max(res, f[i]); } cout << res << endl; } return 0; }样例不需要优化,需要注意初始化以及相等也加进去的情况
Westbrook
:
2024-04-26 10:45:23
#include
#include
using namespace std; const int N = 10010; int f[N]; int a[N]; int m, n; int main() { cin >> m; while (m--) { cin >> n; for (int i = 0; i < n; i++) cin >> a[i]; int cnt = 0; f[cnt++] = a[0]; for (int i = 1; i < n; i++) { if (a[i] > f[cnt - 1]) f[cnt++] = a[i]; else { int l = 0, r = cnt - 1; while (l < r) { int mid = (l + r) >> 1; if (f[mid] >= a[i]) r = mid; else l = mid + 1; } f[r] = a[i]; } } cout << cnt << endl; } return 0; }// 实在不理解哪错了
Post Your Comment