百題解答11053成長最長の部分数列
4902 ワード
boj 11053:成長が最も長い部分数列
質問アドレス:https://www.acmicpc.net/problem/11053
難易度:silver 2
1.問題の説明成長が最も長い部分数列の長さ を探しています.
2.問題を解決する考え.次元グリッド(テーブル)を作成し、 を解く cache[i]=i第1の要素が有する最長増分部分数列長 .冗長for文で、ピボットの前の値よりもピボットの値が大きい場合、 点火式により付与される. 3.問題の処理方法
次はコアコードですいいえ、 時間複雑度O(N^2) 5.コード実装
質問アドレス:https://www.acmicpc.net/problem/11053
難易度:silver 2
1.問題の説明
2.問題を解決する考え.
次はコアコードです
for i in range(1,N): # 피벗 설정
for j in range(i): # 피벗 이전의 숫자들을 순회하면서
if numbers[j] < numbers[i]: # 피벗과 크기 비교
cache[i] = max(cache[i], cache[j]+1)
4.特別注意事項N = int(input())
numbers = list(map(int, input().split()))
cache = [1] * (N)
for i in range(1,N):
for j in range(i):
if numbers[j] < numbers[i]:
cache[i] = max(cache[i], cache[j]+1)
print(max(cache))
Reference
この問題について(百題解答11053成長最長の部分数列), 我々は、より多くの情報をここで見つけました https://velog.io/@qlql323/백준-문제풀이-11053-가장-긴-증가하는-부분수열テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol