¿Se puede resolver el siguiente problema en O (1) complejidad de tiempo: ‘Dada una cuadrícula de 3 × 3, puede colocar un número entero en el rango de A a B en cada celda. ¿De cuántas maneras hay para colocar enteros en las celdas de modo que la suma de cada subcuadrícula 2 × 2 sea N ‘?

Debería ser posible, pero es terriblemente complicado, hay muchos casos a considerar. Aquí hay un boceto de cómo abordarlo.

Primero, el problema es equivalente al que podemos usar enteros entre 0 yx = BA , inclusive, y cada subcuadrícula debe sumar n = N-4x . Entonces eso es lo que vamos a resolver, en función de n y x . También podemos suponer [matemática] x \ leq n [/ matemática] porque para [matemática] x> n [/ matemática] la respuesta es la misma que para [matemática] x = n [/ matemática].

Etiquetemos los números en nuestra cuadrícula de la siguiente manera:

a B C
def
ghi

El truco es comenzar con la fila del medio: d, e, f . Una vez que decida qué hay en la fila central, la fila superior y la fila inferior son independientes y simétricas, por lo que puede contar las formas de completar la fila superior y luego tomar el cuadrado de ese número.

Sea C (n, x, d, e, f) el número de soluciones para todas las opciones posibles de d, e, f . Muchos de estos números están relacionados. En primer lugar, C (n, x, d, e, f) = C (ne, x, d, 0, f). En palabras: el valor e está presente en los cuatro cuadrados 2 × 2, por lo que realmente no importa. En cambio, podemos disminuir ny asumir que e es cero. Por lo tanto, es suficiente para:

  1. encontrar una fórmula de forma cerrada para C (n, x, d, 0, f)
  2. determine la fórmula de forma cerrada para el caso general como [math] \ sum_e C (ne, x, d, 0, f) [/ math].

(Tenga en cuenta que el segundo paso no es trivial: queremos una forma cerrada que pueda evaluarse en O (1), y ya la forma cerrada para C (ne, x, d, 0, f) será fea, por lo que encontrar un La fórmula O (1) para su suma será aún más fea).

Ahora podemos considerar dos casos separados: [matemática] d = f [/ matemática] o [matemática] d \ not = f [/ matemática]. Por simetría, en el segundo caso podemos suponer [math] d> f [/ math] y multiplicar el resultado por 2 al final.

En cualquier caso, ahora tenemos [math] d \ geq f [/ math]. Ahora podemos simplificar aún más: C (n, x, d, 0, f) = C (nf, x, df, 0,0). El razonamiento es el mismo que el anterior.

Ahora redujimos el problema original al siguiente: tenemos n, x, y una cuadrícula de 2 × 3 que se ve de la siguiente manera:

a B C
d 0 0

¿De cuántas maneras podemos elegir [matemáticas] a, b, c \ en [0, x] [/ matemáticas] para que a + b + d = b + c = n ?

Esto es razonablemente fácil de resolver: la respuesta es el número de opciones válidas para b , cada una de ellas determina a y c de manera única. Si consideramos que la respuesta es una función de n (con x una constante fija), la función primero crece linealmente, luego permanece constante, luego cae linealmente y finalmente permanece constantemente cero para siempre.

El cuadrado de esta función le indica el número de soluciones para

a B C
d 0 0
ghi

y ahora necesita tomar el caso d = 0 por separado como una cosa, el doble de la suma sobre todas las d válidas como otra cosa, juntar esas cosas, sumar sobre todas las opciones de f y sumar sobre todas las opciones de e . Actualmente estoy convencido de que cada una de esas sumas en realidad se puede evaluar en O (1), pero rápidamente se vuelve bastante fea debido al trabajo de casos.

Creo que hay una solución para esto.
El primer paso es ver qué se puede hacer con los enteros 0,8
En aras de la unicidad, coloquemos el elemento de esquina más grande en la entrada superior izquierda y la entrada lateral adyacente es mayor que la entrada a continuación. Este contraste elimina las rejillas que son trivialmente diferentes por rotación de reflexión.
posibles soluciones son con 8 en la parte superior izquierda, incluyen
8 3 7 8 4 6 8 1 5 8 4 2
0 2 1 0 1 2 0 6 3 0 3 6
5 6 4 5 7 3 7 2 4 7 5 1

N = 13 N = 13 N = 15 N = 15

posibles soluciones con 7 en la parte superior izquierda

7 5 6
0 2 1 y transformación similar
4 8 3

N = 14

La solución completa a su problema implicará agregar cualquier número a todos los elementos o cualquier número al elemento central. y una astuta transformación para casos en los que las entradas no son consecutivas, es decir, no son c + (0..8)

Demasiado complicado para dar una solución general, pero si da un solo caso de N, a, b. Creo que puedo encontrar todas las soluciones posibles siempre que ab no sea demasiado grande.