Dados 2n puntos en un avión. Uno quiere dibujar n segmentos que unan pares de estos puntos, de modo que no haya dos segmentos que compartan un vértice común. ¿De cuántas maneras se puede hacer esto?

Una forma de ver esto es asumir que tenemos una fórmula [matemática] f (2n) [/ matemática] para todos n hasta [matemática] k [/ matemática].

Luego, construimos una fórmula recursiva para [matemáticas] f (2 (k + 1)) [/ matemáticas] al ver qué sucede cuando agregamos 2 puntos nuevos a nuestra colección. Hay dos cosas diferentes que podríamos hacer con estos 2 puntos nuevos. Podríamos conectarlos entre sí, produciendo [matemática] f (2k) [/ matemática] nuevas coincidencias (ya que cada coincidencia en vértices de 2k podría tener este borde agregado). O podríamos conectar cada uno a dos vértices diferentes previamente existentes (hay [matemática] 2k (2k-1) [/ matemática] formas de elegir estos dos puntos), y luego conectar las restantes [matemática] 2k-2 [/ matemática] vértices en [matemáticas] f (2k-2) [/ matemáticas] formas. Así:

[matemáticas] f (2 (k + 1)) = f (2k) + 2k (2k-1) f (2 (k-1)) [/ matemáticas]

¡Todo lo que queda es demostrar que [matemáticas] f (2n) = (2n-1) !! [/ matemáticas] satisface esta recurrencia y tenga en cuenta que [matemáticas] f (2) = (2 (1) -1) !! = 1 [/ math] y [math] f (4) = (2 (2) -1) !! = 3 [/ math] funcionan como casos base para mostrar que son la misma función. Dejaré la prueba de la recurrencia para doble factorial como ejercicio.

Elegimos y descartamos. El primer segmento de línea se puede elegir en [math] {2n \ choose 2} [/ math]. Luego descarte esa opción para que no tengamos la tentación de usar los mismos vértices. La segunda opción se puede hacer en [matemáticas] {2n-2 \ elegir 2}. [/ Matemáticas] La tercera en [matemáticas] {2n-4 \ elegir 2} [/ matemáticas] y así sucesivamente. Cuando multipliquemos, ampliaremos la elección:

[matemáticas] \ frac {{\ left ({2n} \ right)!}} {{2! \ left ({2n – 2} \ right)!}} \ times \ frac {{(2n – 2)!} } {{2! (2n – 4)!}} \ Times \ frac {{(2n – 4)!}} {{2! (2n – 6)!}} \ Times… \ times \ frac {{2! }} {{2! 0!}} [/ Math].

Tenga en cuenta las maravillosas cancelaciones, que nos dejan con [matemáticas] \ frac {{(2n)!}} {{2 {! ^ N}}} [/ matemáticas]. Sin embargo, nuestro recuento se basa en un orden, para el cual compensamos dividiendo entre [math] n! [/ Math] y escribimos la fórmula final

[matemáticas] \ frac {{(2n)!}} {{2 {! ^ n} n!}} [/ matemáticas]

More Interesting

¿Es necesario pensar en una solución recursiva primero antes de proceder a resolver un problema de DP?

¿Cuál es la diferencia entre un algoritmo y una fórmula?

En el algoritmo de coincidencia del patrón de fuerza bruta cuando todos los caracteres en el patrón son únicos, entonces la fuerza bruta se puede implementar en la complejidad Big-oh (n) donde n es la longitud de la cadena (referencia: introducción a los algoritmos). ¿Alguien puede ayudarme con el algoritmo? Gracias por adelantado

¿Por qué AUC es una mejor medida del rendimiento de un algoritmo que la precisión?

Si T (1) = 2 y T (n) viene dado por T (n / 2) + c para n> 1, ¿cómo calcula la complejidad del algoritmo?

¿Debería usar la función de clasificación () incorporada de C ++ para problemas en la programación competitiva, o debería implementar el algoritmo por mi cuenta?

¿Cómo puedo implementar algoritmos de aprendizaje automático en una aplicación web?

Dados dos archivos de registro, cada uno con mil millones de nombres de usuario, ¿cómo podemos encontrar todos los nombres de usuario presentes en ambos archivos de registro de manera eficiente?

¿Qué es un algoritmo hash?

¿Cuál es el concepto de la función recursiva en matemáticas?

¿Cuál es la forma correcta de leer CLRS (Introducción a los algoritmos)?

¿Cuál es un buen algoritmo para generar un archipiélago en un mapa en particular?

Cómo agregar dos matrices en Java e inicializar la tercera matriz con la suma de los dos elementos correspondientes de las dos matrices

¿Cuál es el algoritmo de recomendación para StackOverflow?

¿Por qué no ha habido un codificador indio en la región 2400+ después de Rudradev Basak, especialmente cuando la cultura de codificación en el país está en aumento?