有一个日志管理系统,保存了N个进程的日志文件,每个进程有M个日志文件。系统记录了每个日志文件的文件大小和被下载的次数。现在需要把部分日志文件保存在容量为c的U盘中,请设计算法计算U盘存储的日志文件下载次数之和最大是多少。 注意,为了保证日志的完整性,每个进程至少要保存一个日志文件到U盘,如果无法实现,则返回−1,如果U盘容量足以存储,则返回所存储的日志文件被下载的次数之和。
一个拥有一定容量的背包,有n组物品,每组物品有容量和价值。每组里至少选择一个,问能选出的最大价值。
我们可以先考虑对于每一组物品,我们给他们分配多少的容量。这个问题可以分两步走: