Cómo encontrar la suma de la suma mínima de las tarifas de entrada en esta pregunta

Este problema puede resolverse mediante programación dinámica.

Defina el mejor (i, j) = nivel máximo de diversión que se puede obtener de las primeras partes con una cantidad máxima de dinero.

Claramente, best (0, j) = best (i, 0) = 0 ya que necesita al menos algo de dinero y al menos alguna fiesta para divertirse. Difícil, pero así es la vida.

Ahora, veamos la relación de recurrencia para mejor (i, j). Puede suceder que no puedas lograr más diversión con j cantidad de dinero que con j-1. En tal caso, best (i, j) = best (i, j). De lo contrario, eliges ir a la i-ésima fiesta o no. En el primer caso, la máxima diversión que puede tener es la mejor (i-1, j-fee [i]) + diversión [i] y en el segundo caso, es la mejor (i-1, j).

Tratando los casos límite cuidadosamente, obtenemos:
best (i, j) = max (best (i, j-1), best (i-1, j)) if j <fee [i]
best (i, j) = max (best (i, j-1), best (i-1, j), best (i-1, j-fee [i]) + fun [i]) de lo contrario.

best (n, k) te brinda la máxima diversión que puedes lograr de n fiestas con un presupuesto de k, y el valor más bajo de x de tal manera que best (n, k) = best (n, x) te da la cantidad mínima de dinero que necesita gastar para divertirse tanto.

Durante años pasados ​​y futuros, las personas hacen preguntas de programación en StackOverflow. Hubiera respondido aquí, pero este editor no parece cómodo para eso. Sugeriría buscar esto porque estoy bastante seguro de que alguien ya debe haberlo preguntado en StackOverflow.

More Interesting

¿Cómo difiere la teoría algorítmica de juegos de la teoría clásica de juegos?

Cómo explicarle a un agricultor qué es la informática y qué hace un ingeniero de software

¿Cuál es la relación entre el aprendizaje automático y la inteligencia empresarial?

La pantalla de mi computadora portátil Asus no funciona, pero otros periféricos funcionan perfectamente. ¿Qué tengo que hacer?

Cómo deshacerse de 'grub-install.real: error: no se puede encontrar una unidad GRUB para / dev / sdX. Compruebe el error de su dispositivo.map '

¿Por qué la continuidad de la recta numérica real nunca puede existir en las matemáticas?

¿Qué puedo hacer para reducir el correo electrónico no deseado que he recibido últimamente? Más información en comentarios.

¿Por qué no hacemos transformada de Fourier y otros algoritmos clásicos en CPU o GPU directamente?

¿Estaría de acuerdo con Elon Musk en sus miedos a la inteligencia artificial?

¿Cuál es la importancia o los beneficios de un algoritmo informático para una persona normal que no es un programador informático?

¿Qué es fácil de resolver para una computadora? ¿Qué es difícil para eso? ¿Qué es imposible?

¿Por qué la mayoría de la gente todavía piensa que nuestro proceso de "pensamiento" es inherentemente diferente al de una computadora?

¿Cómo se usa exactamente el aprendizaje automático en los motores de recomendación?

Cómo entrar en el aprendizaje automático para la industria

Si somos información, ¿podemos ser cortados, copiados y pegados?