设为首页 加入收藏

TOP

HDU 4508 湫湫系列故事――减肥记I (2013腾讯编程马拉松初赛第一场)
2015-11-21 01:58:02 来源: 作者: 【 】 浏览:5
Tags:HDU 4508 系列 故事 减肥 2013 腾讯 编程 马拉松 初赛 第一

?

?

题目大意:

给定一些数据。

每组数据以一个整数n开始,表示每天的食物清单有n种食物。
接下来n行,每行两个整数a和b,其中a表示这种食物可以带给湫湫的幸福值(数值越大,越幸福),b表示湫湫吃这种食物会吸收的卡路里量。
最后是一个整数m,表示湫湫一天吸收的卡路里不能超过m。

思路:

完全背包。

一开始以为是01背包。

敲了01后样例2不对啊!!!

然后改成完全就过了。。就改循环体就好了。。

?

#include
  
   
#include
   
     #include
    
      using namespace std; const int MAXN=100000+10; int w[MAXN],v[MAXN]; int dp[MAXN]; int main() { int n,m; while(~scanf(%d,&n)) { for(int i=1;i<=n;i++) scanf(%d%d,&v[i],&w[i]); scanf(%d,&m); memset(dp,0,sizeof(dp)); for(int i=1;i<=n;i++) { for(int j=w[i];j<=m;j++) { dp[j]=max(dp[j],dp[j- w[i]] + v[i]); } } printf(%d ,dp[m]); } return 0; }
    
   
  


?

?

?

?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇HDU 1853Cyclic Tour(网络流之最.. 下一篇编程算法 - 数组中的逆序对 代码(..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: