暑期dp46道(37) HDOJ 2844 COINS
来源:互联网 发布:mac 启动 磁盘工具 编辑:程序博客网 时间:2024/05/17 04:26
题目链接:HDOJ 2844
多重背包,不过没用模板 省事写了二进制
代码:
#include<cstdio>#include<iostream>#include<cstring>#define debug 1#define M(a) memset(a, 0, sizeof(a))const int maxn = 100000 + 5;int n, m, f[100005], s[maxn], c[maxn], w[maxn], num;void Do() {for (int i = 1; i< num; i++)for (int j = m; j >= c[i]; j--){if (f[j - c[i]]){f[j] = f[j - c[i]] + w[i];f[j] = 1;}}int ans = 0;for (int i = 1; i <= m; i++){if (f[i])++ans;}printf("%d\n", ans);}int main() {#if debugfreopen("in.txt", "r", stdin);#endif //debugint k;while (~scanf("%d%d", &n, &m), m + n) {M(s);M(c);M(w);M(f);for (int i = 1; i <= n; i++) {scanf("%d", &s[i]);}num = 1;for (int i = 1; i <= n; i++) {scanf("%d", &k);int t = 1;while (t <= k) {c[num] = t * s[i];w[num++] = t * s[i];k -= t;t *= 2;}c[num] = k * s[i];w[num++] = k * s[i];}f[0] = 1;Do();}return 0;}
1 0
- 暑期dp46道(37) HDOJ 2844 COINS
- 暑期dp46道(27)--HDOJ 3008 Warcraft
- 暑期dp46道(36)--HDOJ 2577
- 暑期dp46道(44)--HDOJ 1058
- 暑期dp46道(46)--HDOJ 1069
- 暑期dp46道(5)hdoj 1421 搬寝室s
- 暑期dp46道(6)抢劫Robberies ——HDOJ 2955
- 暑期dp46道(10)HDOJ 2602 Bone Collect 01背包
- 暑期dp46道(21)HDOJ 2059 龟兔赛跑
- 暑期dp46道(22)--HDOJ 1158 Employment Planning
- 暑期dp46道(25)--HDOJ 1300 Pearls
- 暑期dp46道(30) HDOJ 1227 Fast Food
- 暑期dp46道(33)--HDOJ 1176 免费馅饼 类树塔:
- 暑期dp46道(34)--HDOJ 1203 01背包
- 暑期dp46道(35)--HDOJ 2159 FATE 背包问题
- 暑期dp46道(39)--HDOJ 2870 最大子矩阵面积...
- 暑期dp46道(42)--HDOJ 1789 Doing Homework again 贪心
- 暑期-dp46道(2)
- 使用rdtsc指令,测量程序的运行速度
- POJ 2406 Power Strings(KMP)
- JMeter入门6---分布执行
- 底部菜单实现(三)fragmentTabHost和fragment
- 数据结构实验之排序一:一趟快排
- 暑期dp46道(37) HDOJ 2844 COINS
- pthread
- OpenStack Heat服务介绍
- java通过post上传json
- JMeter入门5---JDBC数据库连接和发送数据库请求
- linux下静态库和动态库详解
- Android面试宝典
- iOS 设置视图圆角宏
- android webView