//Accepted    624 KB    16 ms
 //dp 背包 多重背包
 #include <cstdio>
 #include <cstring>
 #include <iostream>
 using namespace std;
 ;
 int f[imax_n];
 ];
 int v;
 ;
 int max(int a,int b)
 {
     return a>b?a:b;
 }
 void zeroOnePack(int cost,int weight)
 {
     for (int j=v;j>=cost;j--)
     f[j]=max(f[j],f[j-cost]+weight);
 }
 void completePack(int cost,int weight)
 {
     for (int j=cost;j<=v;j++)
     f[j]=max(f[j],f[j-cost]+weight);
 }
 void multiplePack(int cost,int weight,int amount)
 {
     if (cost*amount>=v)
     {
         completePack(cost,weight);
         return ;
     }
     ;
     while (k<amount)
     {
         zeroOnePack(k*cost,k*weight);
         amount-=k;
         k<<=;
     }
     zeroOnePack(amount*cost,amount*weight);
 }
 void Dp()
 {
     memset(f,,sizeof(f));
     ;i<=n;i++)
     {
         multiplePack(i,i,amount[i]);
     }
     ;
     ;i<=v;i++)
     ans=max(ans,f[i]);
     if (ans==v)
     {
         printf("Can be divided.\n");
     }
     else
     {
         printf("Can't be divided.\n");
     }
     printf("\n");
 }
 int main()
 {
     ;
     ],&amount[],&amount[],&amount[],&amount[],&amount[]),amount[]+amount[]+amount[]+amount[]+amount[]+amount[])
     {
         v=;
         ;i<=n;i++)
         {
             v+=amount[i]*i;
         }
         printf("Collection #%d:\n",++t);
         ==)
         {
             printf("Can't be divided.\n\n");
         }
         else
         {
             v=v/;
             Dp();
         }
     }
     ;
 }

poj1014 dp 多重背包的更多相关文章

  1. HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化)

    HDOJ(HDU).2844 Coins (DP 多重背包+二进制优化) 题意分析 先把每种硬币按照二进制拆分好,然后做01背包即可.需要注意的是本题只需要求解可以凑出几种金钱的价格,而不需要输出种数 ...

  2. HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化)

    HDOJ(HDU).1059 Dividing(DP 多重背包+二进制优化) 题意分析 给出一系列的石头的数量,然后问石头能否被平分成为价值相等的2份.首先可以确定的是如果石头的价值总和为奇数的话,那 ...

  3. HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化)

    HDOJ(HDU).2191. 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 (DP 多重背包+二进制优化) 题意分析 首先C表示测试数据的组数,然后给出经费的金额和大米的种类.接着是每袋大米的 ...

  4. Buns(dp+多重背包)

    C. Buns time limit per test 2 seconds memory limit per test 256 megabytes input standard input outpu ...

  5. CodeForces922E DP//多重背包的二进制优化

    https://cn.vjudge.net/problem/1365218/origin 题意 一条直线上有n棵树 每棵树上有ci只鸟 在一棵树底下召唤一只鸟的魔法代价是costi 每召唤一只鸟,魔法 ...

  6. BZOJ.3425.[POI2013]Polarization(DP 多重背包 二进制优化)

    BZOJ 洛谷 最小可到达点对数自然是把一条路径上的边不断反向,也就是黑白染色后都由黑点指向白点.这样答案就是\(n-1\). 最大可到达点对数,容易想到找一个点\(a\),然后将其子树分为两部分\( ...

  7. hdu1059 dp(多重背包二进制优化)

    hdu1059 题意,现在有价值为1.2.3.4.5.6的石头若干块,块数已知,问能否将这些石头分成两堆,且两堆价值相等. 很显然,愚蠢的我一开始并想不到什么多重背包二进制优化```因为我连听都没有听 ...

  8. POJ1014(多重背包)

    Dividing Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 65044   Accepted: 16884 Descri ...

  9. ACM学习历程—HDU 1059 Dividing(dp && 多重背包)

    Description Marsha and Bill own a collection of marbles. They want to split the collection among the ...

随机推荐

  1. java 集合(Set1)

    ----------------|Collection(为什么要画这个图?学多了之后该忘了) --------------------------|List --------------------- ...

  2. setInterval小问题

    先看下面代码: for (var i = 0; i < 3; i++) { setTimeout(function () { console.log(i) }, 1000); } 运行效果是 输 ...

  3. AngularJS 中文资料+工具+库+Demo 大搜集

    中文学习资料: 中文资料且成系统的就这么多,优酷上有个中文视频. http://www.cnblogs.com/lcllao/archive/2012/10/18/2728787.html   翻译的 ...

  4. Rectangle Intersection Test (with C#)

    Rectangle Intersection Test (with C#) by Sebastian Krysmanskihttp://manski.net/2011/05/rectangle-int ...

  5. BeautifulSoup 常用方法

    #输出所得标签的‘’属性值 获取 head里面的第一个meta的content值 soup.head.meta['content'] 获取第一个span的内容 soup.span.string 获取第 ...

  6. HDU-------(2795)Billboard(线段树区间更新)

    Billboard Time Limit: 20000/8000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  7. 原生JavaScript实现mouseenter

    mouseenter和Mouseleave都是jquery的事件,JavaScript的mouseover和mouseout每个子元素都会触发,从子元素移到父元素也会触发,用起来不很方便,而且触发的太 ...

  8. URL链接中文参数乱码的若干处理方法

    JAVA 中URL链接中文参数乱码的若干处理方法,现在整理收录如下: 方法一: (1) JS中,在URL参数中确保用UTF-8编码,用js函数encodeURI()编码,例如 url:"xx ...

  9. abap注意

    1.建表的时候所有的数据元素的总长度不能超过1024. 2.表的主键修改在se11激活不成功,但是可以在se11保存,然后到se14中激活. 3.SM12解锁,在很多时候,经常出现某个表或者可修改的地 ...

  10. python logger

    [loggers] keys=root [handlers] keys=consoleHandler [formatters] keys=simpleFormatter [logger_root] l ...