USACO 2025 - It's Mooin' Time III

Xem PDF



Dạng bài
Ngôn ngữ cho phép
Assembly, Awk, C, C#, C++, Clang, Cobol, D, Groovy, Haskell, JS, Java, Kotlin, Lua, Node JS, OCaml, ObjectiveC, PHP, Pascal, Perl, Prolog, Pypy, Pypy 3, Python, Ruby, Rust, Scala, Scratch, Swift
Điểm: 2100 (p) Thời gian: 4.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Elsie đang cố kể cho Bessie nghe về kỳ thi USACO yêu thích của mình, nhưng Bessie không hiểu tại sao Elsie lại thích nó đến vậy. Elsie nói: “And It's mooin' time! Who wants a mooin'? Please, I just want to do USACO”.

Bessie vẫn không hiểu, nên cô chép lại lời kể của Elsie thành một xâu độ dài \(N\) (\(3 \leq N \leq 10^5\)) gồm các chữ cái tiếng Anh viết thường \(s_1s_2\ldots s_N\). Elsie gọi một xâu \(t\) gồm ba ký tự là một moo nếu \(t_2=t_3\)\(t_2\neq t_1\).

Một bộ ba \((i,j,k)\) là hợp lệ nếu \(i<j<k\) và xâu \(s_i s_j s_k\) tạo thành một moo. Với bộ ba đó, FJ thực hiện như sau để tính giá trị:

  • FJ bẻ xâu \(s\) một góc 90 độ tại chỉ số \(j\).
  • Giá trị của bộ ba bằng hai lần diện tích tam giác \(\Delta ijk\).

Nói cách khác, giá trị của bộ ba là \((j-i)(k-j)\).

Bessie hỏi bạn \(Q\) (\(1 \leq Q \leq 3\cdot 10^4\)) truy vấn. Trong mỗi truy vấn, cô đưa ra hai số nguyên \(l\)\(r\) (\(1 \leq l \leq r \leq N\), \(r-l+1\ge 3\)) và yêu cầu giá trị lớn nhất trong các bộ ba hợp lệ \((i,j,k)\) sao cho \(l\le i\)\(k\le r\). Nếu không tồn tại bộ ba hợp lệ, in ra \(-1\).

Lưu ý rằng các số nguyên lớn trong bài này có thể đòi hỏi kiểu số nguyên 64-bit (chẳng hạn long long trong C/C++).

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên \(N\)\(Q\).

Dòng tiếp theo chứa \(s_1s_2\ldots s_N\).

\(Q\) dòng tiếp theo, mỗi dòng chứa hai số nguyên \(l\)\(r\), mô tả một truy vấn.

Dữ liệu ra

In đáp án của mỗi truy vấn trên một dòng riêng.

Ví dụ

Ví dụ 1

Input
12 5
abcabbacabac
1 12
2 7
4 8
2 5
3 10
Output
28
6
1
-1
12
Giải thích

Với truy vấn đầu tiên, \((i,j,k)\) phải thỏa mãn \(1\le i<j<k\le 12\). Có thể chứng minh rằng diện tích lớn nhất của \(\Delta ijk\) với một bộ ba hợp lệ \((i,j,k)\) đạt được tại \(i=1\), \(j=8\), \(k=12\). Lưu ý \(s_1s_8s_{12}\) là xâu acc, là một moo theo định nghĩa trên. \(\Delta ijk\) có hai cạnh góc vuông dài \(7\)\(4\), nên hai lần diện tích của nó là \(28\).

Với truy vấn thứ ba, \((i,j,k)\) phải thỏa mãn \(4\le i<j<k\le 8\). Có thể chứng minh rằng diện tích lớn nhất của \(\Delta ijk\) với một bộ ba hợp lệ \((i,j,k)\) đạt được tại \(i=4\), \(j=5\), \(k=6\).

Với truy vấn thứ tư, không tồn tại \((i,j,k)\) thỏa mãn \(2\le i<j<k\le 5\)\(s_i s_j s_k\) là một moo, nên đáp án của truy vấn này là \(-1\).

Phân nhóm

  • Dữ liệu 2–3: \(N,Q\le 50\).
  • Dữ liệu 4–6: \(Q=1\) và truy vấn duy nhất thỏa mãn \(l=1\), \(r=N\).
  • Dữ liệu 7–11: Không có ràng buộc bổ sung.

Đề bài: Chongtian Ma.

Nguồn

USACO 2025 US Open Contest, Bronze — It's Mooin' Time III: https://usaco.org/index.php?page=viewproblem2&cpid=1517

Bình luận

Mới nhất
Tải bình luận...

Không có bình luận nào.

Kỳ thi: