POJ 3624 A - Charm Bracelet
2017-05-08 10:02
399 查看
简单01背包http://poj.org/problem?id=3624
注意空间超限问题:
1、可以使用一维数组来优化
2、使用滚动数组
注意空间超限问题:
1、可以使用一维数组来优化
2、使用滚动数组
//使用一维数组 import java.util.Scanner; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * Created by hms on 2017/3/28. */ public class Solution { public static void main(String[] args) { int N, M; Scanner scanner = new Scanner(System.in); N = scanner.nextInt(); M = scanner.nextInt(); int w[] = new int[N+5]; int v[] = new int[N+5]; for(int i = 1; i <= N; ++i) { w[i] = scanner.nextInt(); v[i] = scanner.nextInt(); } int dp[] = new int[M+5]; for(int i = 1; i <= N; ++i) { for(int j = M; j >= w[i]; --j) { dp[j] = Math.max(dp[j], dp[j-w[i]] + v[i]); } } System.out.println(dp[M]); } }
//使用滚动数组 import java.util.Scanner; import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.ReentrantLock; /** * Created by hms on 2017/3/28. */ public class Main { public static void main(String[] args) { int N, M; Scanner scanner = new Scanner(System.in); N = scanner.nextInt(); M = scanner.nextInt(); int w[] = new int[N+5]; int v[] = new int[N+5]; for(int i = 1; i <= N; ++i) { w[i] = scanner.nextInt(); v[i] = scanner.nextInt(); } int dp[][] = new int[2][M+5]; for(int i = 1; i <= N; ++i) { for(int j = M; j >= 0; --j) { if(j >= w[i]) dp[i&1][j] = Math.max(dp[(i-1)&1][j] , dp[(i-1)&1][j-w[i]]+v[i]); else dp[i&1][j] = dp[(i-1)&1][j]; } } System.out.println(dp[N&1][M]); } }
相关文章推荐
- poj3624——Charm Bracelet
- POJ 3624:Charm Bracelet【01背包】
- POJ3624 Charm Bracelet
- poj 3624 Charm Bracelet
- poj3624——charm bracelet
- POJ-3624-Charm Bracelet
- poj 3624 Charm Bracelet
- poj 3624 Charm Bracelet
- POJ 3624 Charm Bracelet
- POJ 3624 Charm Bracelet
- POJ 3624 Charm Bracelet
- poj 3624 Charm Bracelet
- 【0-1背包】-POJ-3624-Charm Bracelet
- POJ—— 3624 Charm Bracelet
- Charm Bracelet POJ - 3624
- POJ 3624 Charm Bracelet
- poj 3624 Charm Bracelet
- 【01背包】POJ 3624 Charm Bracelet
- POJ 3624 Charm Bracelet 赤裸裸的0-1背包
- POJ - 3624 - Charm Bracelet