CF472G Design Tutorial: Increase the Constraints

Description

There is a simple way to create hard tasks: take one simple problem as the query, and try to find an algorithm that can solve it faster than bruteforce. This kind of tasks usually appears in OI contest, and usually involves data structures. Let's try to create a task, for example, we take the "Hamming distance problem": for two binary strings $ s $ and $ t $ with the same length, the Hamming distance between them is the number of positions at which the corresponding symbols are different. For example, the Hamming distance between "00111" and "10101" is 2 (the different symbols are marked with bold). We use the Hamming distance problem as a query in the following way: you are given two strings $ a $ and $ b $ and several queries. Each query will be: what is the Hamming distance between two strings $ a_{p1}a_{p1}+1...a_{p1}+len-1 $ and $ b_{p2}b_{p2}+1...b_{p2}+len-1 $ ? Note, that in this problem the strings are zero-based, that is $ s=s_{0}s_{1}... s_{|s|-1} $ .

Input Format

N/A

Output Format

N/A