|
||||||||||
wyh2000 and sequenceTime Limit: 6000/3000 MS (Java/Others) Memory Limit: 262144/131072 K (Java/Others)Total Submission(s): 895 Accepted Submission(s): 230 Problem Description Young theoretical computer scientist wyh2000 is concentrating on studying data structures. In order to show his wisdom, he gives his students a hard problem. Wyh2000 gives a sequence $A_1,A_2,\ldots,A_n$.He would ask his students $q$ times,each time he gives $l,r$.Suppose $[l, r]$ have $k$ different numbers $c_1,c_2,\ldots,c_k$,and $c_i$ appears $b_i$ times in the interval $[l, r]$,the students should tell him the value of $\sum_{i=1}^{k}c_i^{b_i}$ modulo $1000000007$,you should use online algorithm. Input In the first line, there is an integer $T$ indicates the number of test cases. For each case, the first line contains two integers $n,q$,the second line contains $n$ integers $A_1,A_2,\ldots,A_n$. In the next $q$ lines,each line contains 2 intergers $a,b$.Query parameters $l,r$ are obtained from the numbers $a,b$.$l=\min((a \oplus la)\%n+1,(b \oplus la)\%n+1),r=\max((a \oplus la)\%n+1,(b \oplus la)\%n+1)$ The $\oplus$ means xor,and $la$ equals the response for the previous query.$la=0$ when each case begin. $T\leq5,1\leq A_i,a,b\leq10^9$ In the $i$th case,$1\leq n,q\leq i\times10000$ Output Print a response for each query in a separate line. Sample Input
Sample Output
Hint In the first case£¬the inquiry intervals are $[1,5],[1,2],[2,5]$. In the second case£¬the inquiry intervals are $[3,5],[2,5]$. Don't add extra spaces after any line of your hack data. Source | ||||||||||
|