通过软盘拷贝文件
这是一个典型的 0-1 背包问题的变体:
问题描述:
有一个容量为 1.44MB(1474560字节)的软盘
每个块大小为 512 字节
需要在有限容量内存储最大的文件字节总和
关键点:
文件大小以字节为单位
存储空间以块为单位
即使文件不足一个块,也要占用整个块的空间
动态规划解析:
状态定义:dp[i] 表示使用 i 个块时能存储的最大字节数
状态转移:对每个文件,可以选择放入或不放入
约束条件:总块数不能超过软盘容量
时间复杂度:O(n maxSize),其中:
n 是文件数量
maxSize 是软盘最大块数(约2880块)