回答編集履歴
1
回答を取り下げさせてください
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
|
-
|
1
|
+
(回答を取り下げさせてください)
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
といった感じで先頭から末尾に向かって更新できそうです。
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
これ計算したあとにCの要素のうち最大の値(複数ある場合は先頭に近い方)を取ってくると、最長のBの長さと末尾の位置がわかるので、あとは所定のフォーマットで出力するとオッケーだと思います。
|