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?