Gen Chiến Thắng

Đề bài

Mô tả

Farmer John phân tích bộ gen của Bessie -- một chuỗi S độ dài N (1≤N≤3000) gồm các chữ cái in hoa.

Với mỗi cặp (K,L) thỏa 1≤L≤K≤N, FJ thực hiện:

  1. Lấy tất cả các chuỗi con độ dài K (k-mer) của S: S[0..K−1],S[1..K],…,S[N−K..N−1]
  2. Trong mỗi k-mer, tìm chuỗi con độ dài L nhỏ nhất theo thứ tự từ điển (nếu hòa, lấy vị trí trái nhất)
  3. Ghi lại vị trí bắt đầu (0-indexed) trong S của chuỗi con đó vào tập P

Với mỗi v từ 1 đến N, đếm số cặp (K,L) mà |P|=v.

Dữ liệu vào

  • Dòng 1: Số nguyên N
  • Dòng 2: Chuỗi S gồm N chữ cái in hoa

Dữ liệu ra

  • N dòng, dòng thứ v là số cặp (K,L) sao cho |P|=v.

Ràng buộc

  • 1≤N≤3000
  • Giới hạn bộ nhớ: 256MB
  • Test 2-4: N≤100
  • Test 5-7: N≤500

Ví dụ

Input Output Giải thích
8
AGTCAACG
11
10
5
4
2
2
1
1
Có 11 cặp (K,L) cho |P|=1, 10 cặp cho |P|=2, v.v. Ví dụ (K,L)=(8,1): chỉ 1 k-mer (toàn bộ chuỗi), chuỗi con 1 ký tự nhỏ nhất là 'A' tại vị trí 0, nên |P|=1.

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