题意:

有一个杠杆,上面有c个钩子,有g件物品,全部放上去,问有多少种方式使天平平衡。

思路:

1. dp[i][j]代表第 i 件物品放到杆子上面之后,平衡度为 j 的方法数

2. 如果不加处理,j 可能会是负数,所以要加上一个 7500 的偏移,最后输出的结果也是 dp[n][7500]

3.  dp[i][v+w[i]*h[j]] += dp[i-1][v]; 是转移方程。初始化为 dp[0][7500] = 1. 因为什么都不放就是一种平衡方式。

#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <algorithm>
using namespace std;const int maxd = 15000;
const int maxn = 21;int h[maxn], w[maxn];
int dp[maxn][maxd];int main()
{int m, n;scanf("%d %d", &m, &n);for (int i = 0; i < m; ++i)scanf("%d", &h[i]);for (int i = 1; i <= n; ++i)scanf("%d", &w[i]);memset(dp, 0, sizeof(dp));dp[0][maxd>>1] = 1;for (int i = 1; i <= n; ++i)for (int v = 0; v <= maxd; ++v)if (dp[i-1][v])for (int j = 0; j < m; ++j)dp[i][v+w[i]*h[j]] += dp[i-1][v];printf("%d\n", dp[n][maxd>>1]);return 0;
}

转载于:https://www.cnblogs.com/kedebug/archive/2013/01/22/2871707.html

POJ 1837 Balance(01背包变型)相关推荐

  1. poj 1837 blance (01背包)

    题意 : 有一个特俗的天平 c 个指定的位置 g个给定重量的砝码 问用上所有砝码 使天平平衡的方案有几种 思路: dp[i][j+c[k]*g[i]]+=dp[i-1][j]; #include< ...

  2. DP专题 4 | 骨头收集爱好者 - POJ 1458( 0-1背包)

    背包问题是DP里面变化比较多的问题,可以参考网上的<背包9讲>,另外还是阅读<算竞入门>和<算竞进阶>,讲的最全的肯定是背包9讲,基本上把所有变形都讲了一遍,但是把 ...

  3. HDU 5616 Jam's balance(01背包)

    题目网址:http://acm.hdu.edu.cn/showproblem.php?pid=5616 题目: Jam's balance Time Limit: 2000/1000 MS (Java ...

  4. poj 1837 Balance

    题意:有c个挂钩,g个砝码,要求用完所以砝码,且天平平衡的方法数 状态方程:f[i][j]表示用完前i个砝码平衡度为j时的方法数,f[i-1][j]表示用完前i-1个砝码,平衡度为j的方法数,此时加上 ...

  5. POJ 1837 Balance dp

    https://vjudge.net/problem/POJ-1837 题目大意:nnn个砝码,mmm个挂钩,给出mmm个挂钩的位置,范围在[−15,15][-15,15][−15,15],负数表示在 ...

  6. poj 2063 Investment(01背包变形)

    http://poj.org/gotoproblem?pid=2063 (1)上限 m 一直上升的 n 次01背包问题,比一般的01背包多了一重循环: (2)本题出现了各种错误:1)刚开始,没注意 m ...

  7. Jam's balance HDU - 5616 (01背包基础题)

    Jim has a balance and N weights. (1≤N≤20) The balance can only tell whether things on different side ...

  8. bzoj2287【POJ Challenge】消失之物 缺一01背包

    bzoj2287[POJ Challenge]消失之物 缺一01背包 链接 bzoj 思路 分治solve(l,r,arr)表示缺少物品\([l,r]\)的dp数组arr. 然后solve(l,mid ...

  9. 【POJ - 3211】Washing Clothes (dp,0-1背包中点问题)

    题干: Dearboy was so busy recently that now he has piles of clothes to wash. Luckily, he has a beautif ...

最新文章

  1. python跟java 效率_对比平台--Java与Python之间的性能差异
  2. Tomcat中配置MySQL数据库连接池
  3. eclipse版本、代号
  4. 在Esxi 5.1虚机中安装OEM服务器系统
  5. dataframe 修改某列_python dataframe操作大全数据预处理过程(dataframe、md5)
  6. flink sql udf jar包_编写Hive的UDF(查询平台数据同时向mysql添加数据)
  7. mysql的两种存储方法_mysql的两种存储引擎
  8. vue2.0 element学习
  9. mysql数据库用doc命令,myMySQL数据库怎么使用dos命令安装? MySQL数据库使用教程
  10. 不会Netty,你也永远不会熟悉Java
  11. batchplot插件用法_怎么使用Batchplot命令批量打印CAD图纸
  12. 2022年数据分析与可视化10大案例总结
  13. “启用宏的幻灯片”是什么意思
  14. 【小技巧】腾讯QQ——腾讯网迷你版弹窗
  15. postman接口自动化(三)变量设置与使用
  16. 国际学术论文写作与发表 期末考试
  17. 控制理论中的几种稳定性
  18. PC微信最新版HOOK接口3.7.6.44
  19. 虚幻4和Unity3D应该学哪个? 1
  20. 在Silverlight3中使用SSME重现Big Buck Bunny播放器

热门文章

  1. 算法73----用户喜好
  2. bzoj[1835][ZJOI2010]base 基地选址
  3. linux查找日志技巧
  4. Java 数字用二进制表示,以及原码,反码,补码、负数的二进制表示
  5. 一文就懂Kotlin作用域函数以及object关键字
  6. 第十、十一周项目-阅读程序,写出这些程序的运行结果(2)
  7. python用matplotlib画人口图_Python+Matplotlib画contour图
  8. Android之子菜单的创建
  9. Android性能优化典范第二季
  10. Mac-终端hostname变为bogon的问题