【多选题】有关0-1背包问题,用c[i][j]描述子问题:1...i共i个物品,背包容量为j的最优值(装入背包的最大价值),以下说法正确的是( )[/i]
A: 当i=0时或j=0时,c[i][j]=0
B: 当j
C: 当j≥w i时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最小。故c]i][j]=min(c[i-1][j],c[i-1][j-w i]+v i)
D: 当j≥w i时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最大。故c]i][j]=max(c[i-1][j],c[i-1][j-w i]+v i)
A: 当i=0时或j=0时,c[i][j]=0
B: 当j
C: 当j≥w i时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最小。故c]i][j]=min(c[i-1][j],c[i-1][j-w i]+v i)
D: 当j≥w i时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最大。故c]i][j]=max(c[i-1][j],c[i-1][j-w i]+v i)
举一反三
- 有关0-1背包问题,用c[i][j]描述子问题:1...i共i个物品,背包容量为j的最优值(装入背包的最大价值),则其子问题为:1...i-1共i-1个物品,背包容量为j-wixi,以下说法正确的是()[/i] A: 当i=0时或j=0时,c[i][j]=0。 B: 当ji时,物品无法装入,其xi=0,则背包容量依旧为j,c]i][j]=c[i-1][j]. C: 当j≥wi时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最小。故c]i][j]=min(c[i-1][j],c[i-1][j-wi]+vi) D: 当j≥wi时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最大。故c]i][j]=max(c[i-1][j],c[i-1][j-wi]+vi)
- 有关0-1背包问题,用c[i][j]描述子问题:1...i共i个物品,背包容量为j的最优值(装入背包的最大价值),则其子问题为:1...i-1共i-1个物品,背包容量为j-wixi,以下说法正确的是()[/i] A: 当i=0时或j=0时,c[i][j]=0。 B: 当j<;wi时,物品无法装入,其xi=0,则背包容量依旧为j,c]i][j]=c[i-1][j]. C: 当j≥wi时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最小。故c]i][j]=min(c[i-1][j],c[i-1][j-wi]+vi) D: 当j≥wi时,物品可以装入,装呢还是不装呢?这取决于哪个决策能够让c[i][j]最大。故c]i][j]=max(c[i-1][j],c[i-1][j-wi]+vi)
- 在使用动态规划算法求解0-1背包问题时,若m[i][j]=m[i+1][j-w[i]]+v[i],说明第i个物品在剩余背包容量为j时可以装入,并且装入比不装入的背包总价值更大,装入后,背包剩余容量减少w[i],价值增加v[i]。
- 【单选题】给出以下代码,请问该程序的运行结果是什么?() class Example{ public static void main(String args[]){ loop1: for(int i=0;i<3;i++){ loop2: for(int j=0;j<3;j++){ if(i==j){ break loop2; } System.out.println("i="+i+"j="+j+""); } } } } A. i=1 j=0 B. i=1 j=0 i=2 j=1 C. i=0 j=1 i=0 j=2 i=1 j=0 i=2 j=0 i=2 j=1 D. i=1j=0 i=2j=0 i=2j=1
- 设有定义:int i=0,j=0,k=0; 则执行语句++i||++j&&++k;后i,j,k的值为() A: i=1;j=1;k=1 B: i=1;j=0;k=1 C: i=1;j=0;k=0 D: i=0;j=0;k=0