import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main
{
public static void main(String[] args)
{
Scanner sc = new Scanner(System.in);
int a =sc.nextInt();
while(a-->0) {
int x,y;x=sc.nextInt();y=sc.nextInt();
int xx[]=new int[x];int yy[]=new int [x];
for (int i = 0; i < xx.length; i++)
{
xx[i]=sc.nextInt();
}
for (int i = 0; i < yy.length; i++)
{
yy[i]=sc.nextInt();
}
///////////////////////
int dp[]=new int[y+1];
for (int i = 0; i < xx.length; i++)
{
for (int j =y;j>=yy[i];j--)
{
dp[j]=Math.max(dp[j], dp[j-yy[i]]+xx[i]);
}
}
System.out.println(dp[y]);
}
}
}
hdu2602 01背包 java
最新推荐文章于 2022-12-16 11:31:44 发布
本文介绍了一种使用Java实现的解决背包问题的方法。通过动态规划算法,程序接收输入的物品价值和重量,以及背包的最大承重,计算并输出在不超过背包承重的情况下,能获得的最大总价值。该算法首先初始化一个动态规划数组,然后遍历所有物品,更新数组中的最大价值。
1万+

被折叠的 条评论
为什么被折叠?



