You are given an array A containing N integers where every integer is represented as a 23-bit binary string. You are also given the following function:
\(F(x,y) = Length\ of\ Longest\ Common\ Suffix\ of\ x\ and\ y\)
Write a program to resolve Q queries of the following types:
- \(1\ x\ y\ \) : Update \(A[x] = y\)
- \(2\ L\ R\ x\) : Print sum of \(F(A[i], x)\) for \(L \le i \le R\)
Input format
- First line: Two space-separated integers N and Q
- Second line: N space-separated integers (denoting the array A)
- Next Q lines: Query of either type
Output format
For each query of the second type, print the required sum.
Constraints
\(1 \le N,Q \le 10^{5}\)
\(1 \le L \le R \le N\)
\(1 \le A[i], x \le 8388607\)
5 4 4 3 5 6 1 2 1 5 1 2 1 1 4 1 2 4 2 1 2 4
26 23 46
410 =000 0000 0000 0000 0000 01002
510 =000 0000 0000 0000 0000 01012
610 =000 0000 0000 0000 0000 01102
110 =000 0000 0000 0000 0000 00012
310 =000 0000 0000 0000 0000 00112
For first query
F(4,1) =0
F(3,1) =1
F(5,1) =2
F(6,1) =0
F(1,1) =23
For second query F(4,4) = 23
Please login to use the editor
You need to be logged in to access the code editor
Loading...
Please wait while we load the editor