回答編集履歴

1

回答を取り下げさせてください

2020/05/28 00:16

投稿

set0gut1
set0gut1

スコア2413

test CHANGED
@@ -1,21 +1 @@
1
- `C[i] := A[i]を末尾に持つ最長の部分列Bの長さ`
2
-
3
-
4
-
5
- っていうのを定義すると
6
-
7
-
8
-
9
- - `C[1] = 1`
10
-
11
- - `if (A[i] == A[i-1]+1) C[i] = C[i-1]+1`
12
-
13
- - `else C[i] = 1`
1
+ (回答を取り下げさせてください)
14
-
15
-
16
-
17
- といった感じで先頭から末尾に向かって更新できそうです。
18
-
19
-
20
-
21
- これ計算したあとにCの要素のうち最大の値(複数ある場合は先頭に近い方)を取ってくると、最長のBの長さと末尾の位置がわかるので、あとは所定のフォーマットで出力するとオッケーだと思います。