A41136.异格背包问题

普及/提高-

官方

通过率:65.12%

时间限制:1.00s

内存限制:256MB

题目描述

考虑一个异格(不一样)的背包问题:背包变成 N×MN \times MNNMM 列)的矩阵。你希望在其中合理放置物品,以获得最大的价值和。

需要注意的是,物品的大小只可能为 1×21\times 2 或者 1×31\times 3 ,并且在放置物品的时候,物品都可以做九十度的旋转。

输入格式

第一行一个整数 TT 代表该测试点的数据组数。

对于每组数据,第一行有四个整数 N,M,n1,n2N,M,n_1,n_2 ,其中 n1,n2n_1,n_2 分别代表大小为 1×21\times 2 和大小为 1×31\times 3 的物品个数。

接下来一行有 n1n_1 个数代表每个 1×21\times 2 物品的价值。

接下来一行有 n2n_2 个数代表每个 1×31\times 3 物品的价值。

输出格式

对于每组询问,输出能够达到的价值最大值。

输入输出样例

  • 输入#1

    1
    2 3 2 2
    1 2
    1 2

    输出#1

    4

说明/提示

Note

在第一行放入价值为 221×21\times 2 物品

在第二行放入价值为 221×31\times 3 物品

总价值为 44 ,物品均不旋转。

数据规模与约定

对于 20%20\% 的数据,N,M10,n1,n2100N,M\leq 10,n_1,n_2\leq 100

对于 70%70\% 的数据,N,M100,n1,n22000N,M\leq 100,n_1,n_2\leq 2000

对于 100%100\% 的数据,1T10,1N,M500,0n1,n2100001\leq T\leq 10,1\leq N,M\leq 500,0\leq n_1,n_2\leq 10000 ,对于所有物品的价值v 1v1031\le v\le 10^3

首页