0-1背包问题中的递推式为____
A: P[i,c]=max{P[i,c],P[i-1,c-v[i]+p[i]}
B: P[i,c]=max{P[i,c],P[i-1,c-v[i-1]+p[i-1]}
C: P[i,c]=max{P[i-1,c],P[i-1,c-v[i]+p[i]}
D: P[i,c]=max{P[i-1,c],P[i-1,c-v[i-1]+p[i-1]}
A: P[i,c]=max{P[i,c],P[i-1,c-v[i]+p[i]}
B: P[i,c]=max{P[i,c],P[i-1,c-v[i-1]+p[i-1]}
C: P[i,c]=max{P[i-1,c],P[i-1,c-v[i]+p[i]}
D: P[i,c]=max{P[i-1,c],P[i-1,c-v[i-1]+p[i-1]}
举一反三
- 对下面的递归算法,要求写出调用P(3)的执行结果。void P(int i){ if(i>0){ printf(i);P(i-1);P(i-1);}}
- 设有声明"int p[10]={1,2},i=0;",以下语句中与"p[i]=p[i+1],i++;"等价的是:[/i] A: p[i]=p[i++]; B: p[++i]=p[i]; C: p[++i]=p[i+1]; D: i++,p[i-1]=p[i];
- 有关0-1背包问题的跳跃点算法描述正确的是() A: 跳跃点(x,c[i][x])表示装入重量为x时,装入最大价值为c[i][x]。 B: 初始跳跃点为(0,0)。 C: 用p[i]描述c[i][j]的跳跃点,用q[i]描述p[i-1]+(w i,v i),则p[i+1]=p[i]∪q[i],其中i=1,2,...,n D: 用p[i]描述c[i][j]的跳跃点,用q[i]描述p[i-1]+(w i,v i),则p[i+1]=p[i]∪q[i]去掉重量不减,价值反而减少的受控点。其中i=1,2,...,n
- 【多选题】有关0-1背包问题的跳跃点算法描述正确的是( ) A: 跳跃点(x,c[i][x])表示装入重量为x时,装入最大价值为c[i][x] B: 初始跳跃点为(0,0) C: 用p[i]描述c[i][j]的跳跃点,用q[i]描述p[i-1]+(w i,v i),则p[i+1]=p[i]∪q[i],其中i=1,2,...,n D: 用p[i]描述c[i][j]的跳跃点,用q[i]描述p[i-1]+(w i,v i),则p[i+1]=p[i]∪q[i]去掉重量不减,价值反而减少的受控点。其中i=1,2,...,n
- 求5!的程序段有()。 A: int i,p;for(i=1,p=1;i<=5;p*=i,i++); B: int i=1,p=1;for(;;){p*=i++;if (i==6) break;} C: int i=0,p=1;while(i++<=5) p*=i; D: int i=1,p=1;do p*=i;while(++i<=5);