La Red de Conocimientos Pedagógicos - Currículum vitae - Solución Pascal gratuita

Solución Pascal gratuita

Observando el significado de la pregunta, podemos saber que si la posición i-ésima y la posición j-ésima son del mismo color, entonces definitivamente formarán un triplete, y el valor del triplete No tiene nada que ver con el número del medio.

Luego, usamos una matriz para almacenar bloques del mismo color con la misma paridad. Entonces el valor es (num

i num

j)*(i j)

Ahora usa a1~an para expresar el subíndice del número en cada grupo. y el valor Representado por numa1~numan.

La respuesta es (numa1 numa2)*(a1 a2) ... ...

Si haces esto, es un algoritmo O(n^2).

Sin embargo, si observas detenidamente la fórmula de cálculo y utilizas la relación de distribución de multiplicación, puedes obtenerla

La respuesta es igual a a1*(numa1*(n-1) numa2

numa3 …… numan )

a2*(numa2*(n-1) numa1

numa3 …… numan) ……

an*(numa1* numa2

numa3... numan*(n-1))

De esta manera, podemos usar sum para representar la suma de num de a1 a an, y use suma2 para representar la suma de a1 a an. La respuesta es suma *sum2 (n-2)*sum2

Nota mod10007

.