trang chủ / bài tập / cowrow / lời giải

Dãy bò dài nhất

Chỉ dùng lời giải này khi không có ý tưởng, và đừng copy-paste code từ lời giải này. Hãy tôn trọng người ra đề và người viết lời giải.
Nộp một lời giải chính thức trước khi tự giải là một hành động có thể bị ban.
Tác giả: huunguyenhuunguyen

Lời giải: Dãy bò dài nhất

Hướng tiếp cận

Brute-force: thử loại từng giống riêng biệt, tìm đoạn cùng giống dài nhất sau khi loại.

Nhận xét quan trọng

  1. Khi loại giống b, các bò thuộc giống b được bỏ qua — không phá vỡ tính liên tiếp của các bò xung quanh.
  2. N1000 và số giống phân biệt N, nên O(N2) đủ nhanh.

Thuật toán

Với mỗi giống b phân biệt:

  1. Duyệt qua dãy, bỏ qua các bò thuộc giống b.
  2. Đếm đoạn liên tiếp dài nhất các bò cùng giống.
  3. Cập nhật đáp án.

Độ phức tạp

  • Thời gian: O(N2)
  • Bộ nhớ: O(N)

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.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0