Arreglos más grandes
Los azucareros del centro son amantes de los arreglos más grandes, o sea, que si y son dos arreglos de la misma longitud, podemos decir que el arreglo Y es más grande que el arreglo si para todo i.
Ejemplo 1 Ejemplo 2 Ejemplo 3
• En el primer ejemplo, es más grande que .
• En el segundo ejemplo, Y no es más grande que , ya que no es más grande que .
• En el tercer ejemplo, Y no es más grande que , ya que no es más grande que .
Si es un arreglo de enteros, será definida como sigue. Considere todos los posibles arreglos de enteros con la misma longitud que S tal que para toda posición . Entonces es el número máximo de tales arreglos que puedes escribir tal que ningún arreglo es más grande que otro arreglo en la lista. Dos arreglos Y y Z se consideran diferentes si hay al menos una posición donde \(Y_i ≠ Z_i\).
Por ejemplo, , ya que usted puede escribir los siguientes cuatro arreglos: . Note que ningún arreglo es más grande que cualquier otro arreglo en la lista. Además, usted puede verificar que si usted escribe más de 4 arreglos, entonces siempre habrá un arreglo que es más grande que algún otro arreglo en la lista. Por tanto, .
A usted se le dará un arreglo con elementos. Usted necesita procesar preguntas (en lo adelante query o queries). Hay dos tipos de queries:
: Asignar cada elemento de la posición a la del arreglo con el valor . poner igual a para .
: Sea el arreglo un subarreglo del arreglo de la posición a . Encuentre \(F(B) módulo 10^9 + 7 \).
Entrada
La primera línea contiene dos enteros y separados entre sí por espacio, el número de elementos en el arreglo y el número de queries, respectivamente. La próxima línea contiene enteros denotando los elementos del arreglo , separados entre sí por espacio. Las próximas líneas describen las queries. Cada query se describe como una línea simple la cual comienza con un número denotando el tipo de query. Entonces:
• Si , a continuación aparecen tres enteros , y .
• Si , a continuación aparecen dos enteros y .
Salida
Para cada query del tipo 2 imprima una línea simple conteniendo a un entero que denote la respuesta para esa query módulo .
Restricciones
\(• 1 \le n, q \le 10^5\)
\(• 1 \le A_i, x \le 10^9\)
\(• 1 \le l \le r \le n\)
\(• 1 \le t \le 2\)
Ejemplo de Entrada
5 4
1 1 3 4 5
1 1 2 2
2 2 3
1 2 5 3
2 1 2
Ejemplo de Salida
4
4
Explicación del ejemplo:
Nosotros tenemos y . Hay q=4 queries:
La primera query es del tipo , y tenemos y , lo que significa que necesitamos asignar a y el valor de 2. Por lo tanto, después de esta query, el arreglo es ahora .
La segunda query es del tipo , y tenemos y . está definido como un subarreglo de desde la posición 2 a la posición 3, por lo tanto . Como se explicó arriba F([2,3]) = 4, así que imprimimos .
La tercera query es del tipo , y tenemos y , lo que significa que necesitamos asignar a y el valor de 3. Por lo tanto, después de esta query, el arreglo es ahora .
La cuarta query es del tipo , y tenemos y . está definido como un subarreglo de A desde la posición a la posición 2, por lo tanto . Como se explicó arriba , así que imprimimos .
Comments
Dónde se pudiera conseguir el editorial de este problema?