Caucavancan Div.01 - Problem E - Encroachment of Zero-Point Corruption
Xem PDF
Điểm:
1700
Thời gian:
1.0s
Bộ nhớ:
256M
Input:
prbe.inp
Output:
prbe.out
Tại Thư viện Cổ đại, và phát hiện ra rằng mỗi ký tự trong "Xâu Khởi Nguyên" sở hữu một trọng số năng lượng ẩn sau mỗi lần xuất hiện. Khi "Zero-Point Corruption" xâm chiếm, các ký tự thay đổi vị trí kéo theo sự hỗn loạn năng lượng.
Cho xâu \(S\) độ dài \(n\) gồm các chữ cái thường và một hằng số khoảng cách \(K\). Mỗi vị trí \(i\) trên xâu có một mức năng lượng cố định ban đầu là \(V_i\). Thực hiện \(Q\) truy vấn thuộc hai loại:
- Loại \(1\) (
1 i c): Thay đổi ký tự tại vị trí \(i\) thành ký tự \(c\). Mức năng lượng \(V_i\) tại vị trí đó được giữ nguyên không đổi. - Loại \(2\) (
2 L R c): Chọn một tập hợp các vị trí \(i_1, i_2, \dots, i_m\) nằm trong đoạn \([L, R]\) sao cho: - Tất cả các vị trí được chọn đều đang chứa ký tự \(c\) (\(S_{i_j} = c\)).
- Khoảng cách giữa hai vị trí liên tiếp được chọn phải cách nhau ít nhất một khoảng cách \(K\) (tức là \(i_j - i_{j-1} \ge K\) với mọi \(j \ge 2\)).
- Tổng giá trị năng lượng \(V_{i_1} + V_{i_2} + \dots + V_{i_m}\) đạt giá trị lớn nhất.
Input
- Dòng đầu tiên gồm ba số nguyên \(n, Q, K\) (\(1 \le n, Q \le 5\times 10^4; 1 \le K \le n\)).
- Dòng thứ hai gồm một xâu \(S\) độ dài \(n\) gồm các ký tự chữ cái latin thường từ
ađếnz. - Dòng thứ ba gồm \(n\) số nguyên \(V_1, V_2, \dots, V_n\) (\(1 \le V_i \le 10^9\)) — mảng năng lượng cố định tại mỗi vị trí.
- \(Q\) dòng tiếp theo: Mỗi dòng mô tả một truy vấn:
- Truy vấn loại \(1\):
1 i c(với \(1 \le i \le n\) và \(c\) là ký tự thường). - Truy vấn loại \(2\):
2 L R c(với \(1 \le L \le R \le n\) và \(c\) là ký tự thường).
- Truy vấn loại \(1\):
Output
- Với mỗi truy vấn loại \(2\), in ra một số nguyên duy nhất trên một dòng là tổng giá trị năng lượng tối ưu lớn nhất tìm được. Nếu không có ký tự \(c\) nào trong đoạn, in ra
0.
Example
Test 1
Input
7 3 3
abcabca
1 10 5 2 8 3 6
2 1 7 a
1 4 b
2 1 7 a
Output
9
7
Note
-
Truy vấn \(1\) (
2 1 7 a): Tìm chuỗi ký tự a tối ưu trong đoạn \([1, 7]\).- Các vị trí có ký tự
alà: \(1, 4, 7\). - Khoảng cách giữa các vị trí: \(\vert{}4 - 1\vert{} = 3 \ge K\); \(\vert{}7 - 4\vert{} = 3 \ge K\).
- Ta có thể chọn cả 3 vị trí này. Tổng năng lượng tối đa: \(V_1 + V_4 + V_7 = 1 + 2 + 6 = \mathbf{9}\).
- Các vị trí có ký tự
-
Truy vấn 2 (
1 4 b): Thay đổi ký tự tại vị trí \(4\) từ a thành b. Xâu mới trở thành abcbcba. Mảng năng lượng \(V\) giữ nguyên. -
Truy vấn 3 (
2 1 7 a): Tiếp tục tìm chuỗi ký tự a tối ưu trong đoạn \([1, 7]\).- Do vị trí \(4\) đã đổi thành b, các vị trí có ký tự a lúc này chỉ còn: \(1, 7\).
- Khoảng cách giữa chúng: \(\vert{}7 - 1\vert{} = 6 \ge K\).
- Tổng năng lượng tối đa: \(V_1 + V_7 = 1 + 6 = \mathbf{7}\).
Test 2
Input
6 2 2
aaaaaa
10 20 5 30 2 15
2 1 6 a
1 4 c
Output
65
Kỳ thi:
- Contest Câu Cá Vạn Cân (Div.01) - Pre THT B, C1, C2 - 2026 (2 Tháng bảy, 2026)
Bình luận