Cómo probar la corrección del problema de cambio de moneda usando DP y poda

El problema sobre el que está preguntando es encontrar el número mínimo de monedas [matemáticas] M [n] [/ matemáticas] necesarias para representar un valor particular [matemáticas] n [/ matemáticas]. Nos gustaría mostrar que dada la moneda más grande [matemática] C [/ matemática], entonces cualquier solución mayor que [matemática] C ^ 2 [/ matemática] puede resolverse reduciendo primero el problema a un tamaño menor que [matemática] C ^ 2 [/ math] usando solo la moneda de tamaño máximo.

es decir, [matemática] M [n] = M [nC] + 1 [/ matemática] para [matemática] n> C ^ 2 [/ matemática]

Supongamos que esto no fuera cierto, y para algunos [matemática] k> C ^ 2 [/ matemática] tuvimos [matemática] M [k] \ leq M [kC] [/ matemática]. Entonces [math] M [k] [/ math] no debe usar ninguna moneda de tamaño [math] C [/ math] (de lo contrario podríamos eliminar una). De hecho, ningún subconjunto de sus monedas puede sumar a [math] C [/ math], o un múltiplo de [math] C [/ math], tampoco. Si lo hicieron, entonces ese subconjunto podría reemplazarse por monedas de tamaño [matemático] C [/ matemático] y reducir el tamaño mínimo. Por lo tanto, el conjunto múltiple de monedas utilizadas para [matemática] M [k] [/ matemática] debe ser al menos tan grande como [matemática] C + 1 [/ matemática] monedas, pero no puede utilizarse para formar ninguna de las cantidades [matemática] ] C, 2C, 3C, …, C ^ 2 [/ matemáticas].

Ahora usemos el Principio de Pigeonhole. Elija cualquier orden de nuestras monedas [matemáticas] C + 1 [/ matemáticas], agréguelas de una en una y tome el resto del módulo [matemáticas] C [/ matemáticas]. Dos de los restantes en esta secuencia deben ser iguales, porque tenemos valores posibles de [matemática] C [/ matemática] y monedas [matemática] C + 1 [/ matemática]. (De hecho, suponiendo que ninguno de ellos puede ser [matemático] 0 [/ matemático], entonces solo tenemos valores [matemáticos] C-1 [/ matemático]). Pero eso significa que las monedas del primer remanente al segundo suma restante a un múltiplo de [matemáticas] C [/ matemáticas].

es decir, decir que [matemáticas] \ sum_ {i = 0} ^ {y} x_i \ equiv \ sum_ {i = 0} ^ {z} x_i \ pmod {C} [/ matemáticas], con [matemáticas] y <[ / matemáticas] z. Entonces

[matemáticas] \ sum_ {i = 0} ^ {y} x_i – \ sum_ {i = 0} ^ {z} x_i = \ sum_ {i = y + 1} ^ {z} x_i = jC [/ matemáticas] para entero positivo [matemáticas] j [/ matemáticas]

Por lo tanto, [matemática] M [k] [/ matemática] debe usar al menos una moneda de tamaño [matemática] C [/ matemática], si [matemática] k> C ^ 2 [/ matemática].