Las reglas de Golomb son conjuntos de enteros no negativos, de modo que no hay dos pares de enteros en el conjunto a la misma distancia.
Por ejemplo, [0, 1, 4, 6]
es una regla de Golomb porque todas las distancias entre dos enteros en este conjunto son únicas:
0, 1 -> distance 1
0, 4 -> distance 4
0, 6 -> distance 6
1, 4 -> distance 3
1, 6 -> distance 5
4, 6 -> distance 2
En aras de la simplicidad en este desafío (y dado que la traducción es trivial), imponemos que una regla de Golomb siempre contenga el número0
(lo que hace el ejemplo anterior).
Como este conjunto es largo 4
, decimos que es una regla de orden Golomb 4
. La mayor distancia en este conjunto (o elemento, ya 0
que siempre está en el conjunto) es 6
, por lo tanto, decimos que esta es una regla de Golomb de longitud 6
.
Tu tarea
Encuentre las reglas de orden de Golomb 50
para 100
(inclusive) que tengan el mismo tamaño longitudes como se puede encontrar. Las reglas que encuentre no necesitan ser óptimas (ver más abajo).
Óptima
Se N
dice que una regla de orden Golomb es óptima si no hay otra regla de orden Golomb N
que tenga una longitud menor.
Los gobernantes Golomb óptimos son conocidos por órdenes de menos de 28 , aunque encontrar y probar la optimización es cada vez más difícil a medida que aumenta el orden.
Por lo tanto, no se espera que encuentre la regla Golomb óptima para ninguna de las órdenes entre 50
y 100
(y aún menos se espera que pueda probar que son óptimas).
No hay límites de tiempo en la ejecución de su programa.
Base
La lista a continuación es la lista de longitudes de gobernantes Golomb desde ( 50
hasta 100
en orden) evaluados con una estrategia de búsqueda ingenua (Gracias a @PeterTaylor por esta lista):
[4850 5122 5242 5297 5750 5997 6373 6800 6924 7459 7546 7788 8219 8502 8729 8941 9881 10199 10586 10897 11288 11613 11875 12033 12930 13393 14046 14533 14900 15165 15687 15971 16618 17354 17931 18844 19070 19630 19669 20721 21947 22525 23290 23563 23880 24595 24767 25630 26036 26254 27218]
La suma de todas esas longitudes es 734078
.
Puntuación
Su puntuación será la suma de las longitudes de todos sus gobernantes Golomb entre 50
y 100
, dividido por la suma de las longitudes de los gobernantes entre Golomb 50
y 100
en la línea de base: 734078
.
En caso de que no haya encontrado una regla Golomb para un orden específico, calculará su puntaje de la misma manera, utilizando el doble de la longitud en la línea de base para ese orden específico.
La respuesta con la puntuación más baja gana.
En caso de empate, se comparan las longitudes del orden más grande donde las dos respuestas difieren, y gana la más corta. En caso de que ambas respuestas tengan la misma longitud para todos los pedidos, entonces la respuesta que se publicó primero gana.
n
es n(n-1)/2
, ya que esa es la cantidad de diferencias positivas que hay. Por lo tanto, el puntaje más pequeño posible en este desafío es 147050/734078 > 0.2003193
.