Nộp bài | Các bài nộp | Làm tốt nhất | Về danh sách bài |
P186SUMH - ROUND 6H - Truy vấn trên xâu nhị phân |
Xâu nhị phân là một xâu kí tự chỉ gồm các kí tự ‘0’ và ‘1’. Cho một xâu nhị phân S độ dài N và M truy vấn thuộc một trong hai loại sau:
- 0 x y: Đưa ra giá trị trong hệ thập phân của xâu con của S trong đoạn [x, y] modulo 5.
- 1 i x: Đổi giá trị kí tự thứ i thành x (0 ≤ x ≤ 1).
Input
Dòng đầu tiên gồm một xâu nhị phân S độ dài N (1 ≤ N ≤ 105).
Dòng tiếp theo gồm số nguyên M (1 ≤ M ≤ 2.105) là số lượng các truy vấn.
M dòng tiếp theo, mỗi dòng gồm một truy vấn có một trong hai dạng như sau:
- Truy vấn loại 1: 0 x y (0 ≤ x ≤ y < N).
- Truy vấn loại 2: 1 i x (0 ≤ i < N, 0 ≤ x ≤ 1).
Output
Với mỗi truy vấn loại 2, in ra trên một dòng kết quả cần tìm.
Ví dụ
Input: 010011 5 0 4 5 1 1 0 0 1 5 1 3 1 0 3 5 Output: 3 3 2
Giải thích:
Truy vấn 0 4 5, xâu con trong đoạn [4, 5] là ‘11’ có giá trị ở hệ thập phân là 3.
Truy vấn 1 1 0, xâu S trở thành ‘000011’.
Được gửi lên bởi: | adm |
Ngày: | 2018-08-11 |
Thời gian chạy: | 1s |
Giới hạn mã nguồn: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Ngôn ngữ cho phép: | ASM32-GCC ASM32 ASM64 MAWK BC C CSHARP C++ 4.3.2 CPP CPP14 COFFEE LISP sbcl DART FORTH GO JAVA JS-RHINO JS-MONKEY KTLN OCT PAS-GPC PAS-FPC PERL PERL6 PROLOG PYTHON PYTHON3 PY_NBC R RACKET SQLITE SWIFT UNLAMBDA |