for (int j = 1; j <= m; j++) for (int i = 1; i <= n; i++) if (r[i] == j) for (int k = b; k >= v[i]; k--) f[j][k] = max(f[j][k], f[l[i]][k - v[i]] + w[i]);
显然,光是外面两层就有1e7的数据了,如果r[i]==j这个条件存在超多满足的情况,是不是它的复杂度就会超过1e9了呢 ???