trang chủ / đề bài / voi10_lnacs

Dãy con chung không liền kề dài nhất

Đề bài

Mô tả

Dãy C=c1,c2,…,ck là dãy con không liền kề của dãy A=a1,a2,…,am nếu C có thể nhận được bằng cách chọn một dãy các phần tử không liền kề của A, nghĩa là tìm được dãy các chỉ số i1,i2,…,ik sao cho:

  • 1≤i1,i2,…,ik≤m;
  • i1<i2−1, i2<i3−1, …, ik−1<ik−1;
  • c1=ai1, c2=ai2, …, ck=aik.

Ta gọi độ dài của dãy số là số phần tử của nó.

Cho hai dãy A=a1,a2,…,am và B=b1,b2,…,bn. Dãy C được gọi là dãy con chung không liền kề của hai dãy A và B nếu như nó vừa là dãy con không liền kề của A, vừa là dãy con không liền kề của B.

Yêu cầu: Cho hai dãy số A và B. Hãy tìm độ dài của dãy con chung không liền kề dài nhất của hai dãy đã cho.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên dương m và n (2≤m,n≤103) được ghi cách nhau bởi dấu cách, lần lượt là số lượng phần tử của dãy A và dãy B.
  • Dòng thứ i trong m dòng tiếp theo chứa số nguyên không âm ai (ai≤104), i=1,2,…,m.
  • Dòng thứ j trong n dòng tiếp theo chứa số nguyên không âm bj (bj≤104), j=1,2,…,n.

Dữ liệu ra

Ghi ra trên một dòng duy nhất độ dài của dãy con chung không liền kề dài nhất của hai dãy A và B.

Ràng buộc

  • 2≤m,n≤103.
  • 0≤ai,bj≤104.

Ví dụ

Input Output Giải thích
4 5
4
9
2
4
1
9
7
3
4
2 Dãy 9,4: trong A dùng các vị trí 2,4, trong B dùng các vị trí 2,5.
3 2
1
1
1
1
1
1 Hai phần tử của B đứng liền nhau nên chỉ chọn được một phần tử.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0