소스 검색

最长上升子序列--动态规划--O(N^2)

jal 5 년 전
부모
커밋
323a93ddf1
1개의 변경된 파일24개의 추가작업 그리고 0개의 파일을 삭제
  1. 24 0
      B.cpp

+ 24 - 0
B.cpp

@@ -0,0 +1,24 @@
+#include<bits/stdc++.h>
+using namespace std;
+int main(){
+	int n;
+	while(cin >> n){
+	int v[n+1];
+	for(int i = 1; i <= n; i++){
+		cin >> v[i];
+	} 
+	int dp[n+1];
+	for(int i = 0; i <= n; i++){
+		dp[i] = 1;
+	}
+	for(int i = 1; i <= n; i++){
+		for(int j = 1; j < i; j++){
+			if(v[j] >= v[i])
+				dp[i] = max(dp[i], dp[j]+1);
+		}
+	}
+	sort(dp+1, dp+n+1);
+	cout << dp[n] << endl;
+}
+return 0;
+}