题目大意:有一个固定长度的磁带,想要把CD放进去,空间利用率尽可能的高,每个磁带只能用一次。
01背包问题,就是把体积和重量看做了tracks和time,这里注意打印路径的方法
#include<iostream>
#include<stdio.h>
#include<vector>
#include<map>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<set>
#include<cmath>
using namespace std;
typedef long long LL;
const int N = 5005;
LL dp[3005][N];
int cost[N];
int main()
{
int time,m; // n
while(scanf("%d%d",&time,&m) != EOF){
memset(dp,0,sizeof(dp));
memset(cost,0,sizeof(cost));
for(int i