[C ++] henuACM formación de verano Día16 arreglo de árbol

Primero ponga dos blogs y mire lentamente
https://www.cnblogs.com/xenny/p/9739600.html
https://blog.csdn.net/bestsort/article/details/80796531

Una formación de tropas enemigas del título (HDU 1166)

tema

El enemigo del país C, el país A, está realizando ejercicios militares durante este período, por lo que el jefe de espías del país C, Derek, y su subordinado Tidy están nuevamente ocupados. El país A ha organizado N campamentos de ingenieros a lo largo de la costa. La tarea de Derek y Tidy es supervisar las actividades de estos campamentos de ingenieros. Debido a la adopción de algunos métodos de monitoreo avanzados, el número de personas en cada campamento de ingenieros es claro para el país C. El número de personas en cada campamento de ingenieros puede cambiar y puede aumentar o disminuir una cantidad de mano de obra, pero estos no pueden escapar C. Vigilancia estatal.
La CIA quiere estudiar las tácticas del enemigo, por lo que Tidy debe informar a Derek en cualquier momento cuántas personas hay en un determinado campo de ingeniería continuo. Por ejemplo, Derek pregunta: "Tidy, informa inmediatamente cuántas personas hay desde el tercer campo hasta el décimo campo. ! "Tidy comenzará a contar e informar el número total de personas en este segmento de inmediato. Sin embargo, el número de campamentos enemigos cambiaba con frecuencia, y Derek preguntaba diferentes segmentos cada vez, por lo que Tidy tenía que contar uno por uno cada vez, y rápidamente se agotaba. El cálculo de Tidy de Derek se hizo más rápido. Más y más insatisfecho: "¡Gordo, es muy lento, te despediré!", Pensó Tidy: "¡Puedes contarlo tú mismo, este es un trabajo realmente agotador! ¡No puedo esperar a que me despidas!" "Desesperado, Tidy tuvo que llamar a Windbreaker, un experto en informática, en busca de ayuda. Windbreaker dijo:" Muchacho gordo mortal, te pedí que hicieras más preguntas de ACM y leyeras más libros de algoritmos. ¡Ahora puedes probar la fruta amarga! ", Dijo Tidy:" Me equivoqué ... "Pero Windbreaker ya ha colgado. Tidy está muy angustiado, realmente se desmoronará, lector inteligente, ¿puedes escribir un programa que lo ayude a completar este trabajo? Pero si su programa no es lo suficientemente eficiente, Derek todavía regañará a Tidy.

Entrada

Un número entero T en la primera línea indica que hay T grupos de datos.
La primera línea de cada grupo de datos es un número entero positivo N (N <= 50000), lo que significa que el enemigo tiene N campos de ingenieros y luego N números enteros positivos. El i-ésimo entero positivo ai representa el i-ésimo campo de ingenieros con ai al principio Individual (1 <= ai <= 50).
Hay un comando en cada línea en la siguiente, y el comando tiene 4 formas:
(1) Suma ij, i y j son números enteros positivos, lo que significa que j individuos se agregan al i-ésimo campo (j no excede 30)
(2) Sub ij, i y j Es un número entero positivo, lo que significa que el i-ésimo campo reduce j individuos (j no excede de 30);
(3) La consulta ij, i y j son números enteros positivos, i <= j, lo que significa que se pregunta el número total de personas en el i-ésimo campo;
(4) Fin significa fin, este comando aparece al final de cada grupo de datos;
cada grupo de datos tiene un máximo de 40,000 comandos

Salida

Para el i-ésimo grupo de datos, primero genere "Caso i:" y presione Enter.
Para cada consulta de consulta, genere un número entero y presione Enter para indicar el número total de personas en el segmento de consulta, y este número se mantiene dentro de int.

Entrada simple

1
10
1 2 3 4 5 6 7 8 9 10
Consulta 1 3
Suma 3 6
Consulta 2 7
Sub 10 2
Suma 6 3
Consulta 3 10
Fin

Salida simple

Caso 1:
6
33
59

Título

Después de enumerar la cantidad de personas en todos los campamentos, hay dos operaciones, una que comienza con Q se llama consulta, una que comienza con A se llama sumar y la que comienza con S es reducir.

Supongo que te gusta

Origin blog.csdn.net/qq_44899247/article/details/97951674
Recomendado
Clasificación