La idea es dp. El significado de la matriz dp es la altura mínima de los primeros n libros. Se asume que se crea una nueva capa cada vez que entra un libro, y luego se fusiona con la anterior de acuerdo con esto.
Algunos amigos pueden pensar en qué hacer si la capacidad es suficiente, ¿deberían fusionarse también? En este sentido, probé el método de insertar directamente cuando hay capacidad, y encontré que se pasan por alto ciertas situaciones, como este grupo:
{152, 92}, {22, 133}, {91, 60}, {80, 120} shelf_width=200Si la capacidad es suficiente, será: {152, 92}, {22, 133} y {91, 60}, {80, 120} dos grupos, la altura es 133 + 120, que es mejor que la solución óptima 92+ 133 debería ser mayor. Este ejemplo es un ejemplo muy posterior. Tomó mucho tiempo encontrar este error. . .
Pero, de nuevo, incluso si se combinan todas las comprobaciones, la velocidad sigue siendo del 100%. . .