Đếm chuỗi con
Đề bài
Mô tả
Công ty khởi nghiệp DroneX được đầu tư sản xuất hàng loạt các máy bay không người lái (drone) phục vụ nông nghiệp. Sản phẩm của họ trợ giúp cho người nông dân có thể bón phân qua lá cho các cây có độ cao lớn như sầu riêng, hồ tiêu, điều, ... Drone của họ cũng được sử dụng trong việc vận chuyển hàng hoá tới các vùng khó khăn, những nơi mà các phương tiện bình thường khác không thể tiếp cận. Mô hình kinh doanh của họ cũng đặc biệt: sản phẩm của họ không bán, chỉ cho thuê trực tiếp tại các cửa hàng tiện ích. Để kích hoạt drone khởi động, khách hàng phải nhập dãy số gồm số bí mật, nếu chúng trùng khớp trong hệ thống của công ty, drone sẽ được kích hoạt tự động và sẵn sàng bay.
Mỗi khi có khách đến thuê drone, cửa hàng sẽ cung cấp cho khách hàng một chuỗi kí tự và một tập hợp chuỗi . Để lấy được số bí mật, công ty sẽ gửi cho mỗi khách hàng cặp chỉ số . Nhiệm vụ của khách hàng là với mỗi cặp chỉ số đó, lấy chuỗi con của từ kí tự thứ đến ký tự thứ và đếm số lượng chuỗi con này nếu trùng khớp với chuỗi nào đó từ tập đã cho. Thứ tự các số bí mật tìm được phải trùng với thứ tự của các cặp mà khách hàng nhận được.
Sau khi có kết quả, khách hàng sẽ gửi về cho công ty, nếu trùng khớp, drone đã sẵn sàng khởi động.
Một cách tiếp cận khác: Đếm số cặp vị trí sao cho và chuỗi con của chuỗi từ vị trí đến khớp với một chuỗi nào đó từ tập hợp đã cho.
Chuỗi con của chuỗi từ vị trí đến là chuỗi được tạo ra bằng cách xóa ký tự đầu và ký tự cuối của , trong đó là độ dài của chuỗi .
Dữ liệu vào
- Dòng đầu tiên chứa hai số nguyên dương và lần lượt là số lượng chuỗi trong tập hợp mà cửa hàng gửi cho khách hàng và số lượng cặp mà công ty gửi cho khách hàng.
- Dòng thứ hai chứa duy nhất chuỗi , chỉ bao gồm các chữ cái tiếng Anh viết thường .
- dòng tiếp theo mô tả các chuỗi trong tập hợp. Dòng thứ chứa duy nhất một chuỗi , bao gồm các chữ cái tiếng Anh viết thường. Gọi là tổng độ dài của tất cả các chuỗi trong tập hợp. Dữ liệu luôn đảm bảo , và tất cả các chuỗi là khác nhau.
- dòng tiếp theo, dòng thứ chứa hai số nguyên dương và lần lượt là biên trái và biên phải của chuỗi con lấy ra từ chuỗi từ cặp thứ .
Các số trên cùng một dòng cách nhau bởi một dấu cách.
Dữ liệu ra
Một dòng duy nhất ghi dãy số bí mật tìm được để gửi kích hoạt drone, trong đó số thứ là kết quả của cặp thứ . Các số cách nhau bởi một dấu cách.
Ràng buộc
- .
- ; và các chỉ gồm chữ cái tiếng Anh viết thường.
- , các chuỗi đôi một khác nhau.
- .
Subtasks
Điểm được tính theo từng test; số test của mỗi subtask tương ứng với tỉ lệ điểm.
- Subtask 1 ( số điểm): , , , .
- Subtask 2 ( số điểm): , , .
- Subtask 3 ( số điểm): , .
- Subtask 4 ( số điểm): , .
- Subtask 5 ( số điểm): , .
- Subtask 6 ( số điểm): , .
- Subtask 7 ( số điểm): , .
- Subtask 8 ( số điểm): , .
- Subtask 9 ( số điểm): Không có ràng buộc bổ sung.
Ví dụ
| Input | Output | Giải thích |
|---|---|---|
| 3 5 abacaba aba a ac 1 7 1 3 2 7 2 5 4 5 |
7 3 5 3 1 | Cặp đầu tiên yêu cầu đếm số lượng chuỗi con của toàn bộ chuỗi khớp với các chuỗi trong tập hợp. Các chuỗi con khớp với "aba" là và . Các chuỗi con khớp với "a" là . Chuỗi con khớp với "ac" là . Tổng cộng có chuỗi con của "abacaba" khớp với các chuỗi từ tập hợp. Trong cặp thứ hai, chuỗi con từ vị trí đến của chuỗi gốc được lấy, đó là chuỗi "aba". Trong đó, chuỗi "aba" xuất hiện lần, chuỗi "a" xuất hiện lần và chuỗi "ac" không xuất hiện lần nào. Tổng là . Trong cặp thứ ba, chuỗi con từ vị trí đến của chuỗi gốc được lấy, đó là chuỗi "bacaba". Trong đó, chuỗi "aba" xuất hiện lần, chuỗi "a" xuất hiện lần và chuỗi "ac" xuất hiện lần. Tổng là . Tương tự cho các cặp còn lại. |
| 3 4 aaaaa a aa aaa 1 5 2 3 3 3 2 5 |
12 3 1 9 | Ví dụ bổ sung (không có trong đề gốc). Các lần xuất hiện được đếm cả khi chồng lên nhau: với có lần "a", lần "aa" và lần "aaa", tổng . Với (chuỗi "aaaa") có . |
Bình luận