标签:style blog http color os io for ar
距离上一篇 又过去2天了=-=
我发现 我最近开始忘记写 题目链接了 算了 以后 先写链接 省得忘记 touch me
------------
这题 就是个01背包 只是多了一些 限制条件 但读题一定要注意啊..
我刚开始 没读清 一直WA...
当你的金额少于5元时 是不能购买任何东西的 卧槽....
我没仔细看它 ...
当你留意到它以后 只要多个判断条件就好了 然后因为只要有5元 就可以任意购买多少钱的物品 那肯定是去买 最贵的那就可以 在背包dp[x]的时候 将x设为m-5 因为5块钱已经被我们拿去买最贵的物品了
so 就这样..
1 #include <iostream> 2 #include <cstring> 3 #include <algorithm> 4 using namespace std; 5 6 const int size = 1010; 7 int arr[size]; 8 int dp[size]; 9 10 void zeroOne( int n , int m ) 11 { 12 for( int i = 0 ; i<n ; i++ ) 13 { 14 for( int j = m ; j>=arr[i] ; j-- ) 15 { 16 dp[j] = max( dp[j] , dp[ j-arr[i] ] +arr[i] ); 17 } 18 } 19 } 20 21 int main() 22 { 23 int n , m , money , sum; 24 while( cin >> n && n ) 25 { 26 memset( dp , 0 , sizeof(dp) ); 27 for( int i = 0 ; i<n ; i++ ) 28 { 29 cin >> arr[i]; 30 } 31 cin >> m; 32 money = m; 33 if( m<5 ) 34 { 35 cout << m << endl; 36 } 37 else 38 { 39 sort( arr , arr+n ); 40 zeroOne(n-1,m-5); 41 cout << m-dp[m-5]-arr[n-1]<<endl; 42 } 43 } 44 return 0; 45 }
today:
十二年 一个轮回 一部电影-----少年时代
hdu--2546--dp<01背包>,布布扣,bubuko.com
标签:style blog http color os io for ar
原文地址:http://www.cnblogs.com/radical/p/3919262.html