hdu 1114 Piggy-Bank 解题报告
2012-03-06 21:23
381 查看
链接http://acm.hdu.edu.cn/showproblem.php?pid=1114
本题是一道完全背包,且要求全部要装满的。关于背包的问题可以去看一下背包九讲。
本题是一道完全背包,且要求全部要装满的。关于背包的问题可以去看一下背包九讲。
#include <stdio.h> const int inf=0xfffffff; struct Node { int w, v; }tr[505]; int dp[10005]; inline int min( int x, int y ) { return x<y?x:y; } int main( ) { int T, a, b; scanf( "%d", &T ); while( T -- ) { scanf( "%d%d", &a, &b ); int M=b-a, N; scanf( "%d", &N ); for( int i=0; i<N; ++ i ) { scanf( "%d%d", &tr[i].v,&tr[i].w ); } for( int i=0; i<=M; ++ i ) dp[i]=inf; //题目要求要装满,所以要inf,最大用 -inf,最小用 inf,不要求装满则赋值为0 。 dp[0]=0; for( int i=0; i<N; ++ i ) { for( int j=tr[i].w; j<=M; ++ j )//这是与 0 - 1 背包区别的地方。 { dp[j]=min( dp[j], dp[j-tr[i].w]+tr[i].v); } } if( dp[M]==inf ) puts( "This is impossible." ); else printf( "The minimum amount of money in the piggy-bank is %d.\n", dp[M] ); } return 0; }
相关文章推荐
- HDU 1114 Piggy-Bank 解题报告(完全背包)
- hdoj 1114-Piggy-Bank解题报告
- hdu 1114 Piggy-Bank
- hdu 1114 Piggy-Bank (DP)
- HDU---1114题Piggy-Bank
- hdu 1114 Piggy-Bank(完全背包)
- HDU1114 Piggy-Bank 完全背包
- hdu 1114 Piggy-Bank
- HDU - 1114 - Piggy-Bank (完全背包)
- hdu 1114 Piggy-Bank
- HDU 1114 Piggy-Bank 完全背包
- 背包DP-HDU-1114-Piggy-Bank
- hdu 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank(完全背包) dag边权之和最小
- HDU 1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank 完全背包
- HDU 1114 Piggy-Bank (完全背包)
- HDU1114 Piggy-Bank(完全背包)
- hdu 1114 Piggy-Bank(必须装满的完全背包)
- HDU 1114 Piggy-Bank