Lật bit trong khoảng
Submit solution
Points:
3 (partial)
Time limit:
1.0s
JAVA11
2.0s
Pypy 3
2.0s
Memory limit:
67M
JAVA11
977M
Pypy 3
977M
Author:
Problem type
Allowed languages
Ada, Assembly, Awk, C, C++, C11, CLANG, CLANGX, Classical, COBOL, Coffee, CSC, D lang, DART, F95, FORTH, Fortrn, GAS32, GO, Haskell, Itercal, Java, kotlin, LEAN, LISP, LUA, MONOVB, Nasm, OCAML, Pascal, Perl, php, PIKE, prolog, Pypy, Python, Ruby 2, RUST, Scala, SCM, SED, SWIFT, TCL, TUR, V8JS, VB, ZIG
Cho một xâu nhị phân (bắt đầu từ chỉ số
Ghi chú: Lật bit là phép biến đổi bit
Đầu vào
Dòng đầu tiên chứa một xâu nhị phân, độ dài
Dòng tiếp theo chứa một số nguyên
Chú ý: dữ liệu nhập-xuất lớn, bạn hãy sử dụng nhập xuất nhanh (fast io) đồng thời tránh flush khi xuất dữ liệu (VD: endl trong C++).
Đầu ra
Một xâu nhị phân duy nhất.
Subtask
Ví dụ
Đầu vào:
Copy
10010100
3
0 2
1 3
6 7
Đầu ra:
Copy
00000111
Giải thích:
Sau thao tác đầu tiên ta được xâu:
Sau thao tác thứ hai ta được xâu:
Sau thao tác cuối cùng ta được xâu:
Comments
thuật toán "trồng-chặt" với phép cuộn cuống chiếu partial_sum