可行性背包
来源:互联网 发布:mysql错误1054 编辑:程序博客网 时间:2024/06/16 22:59
可行性背包模板题
题目:poj1742
用一个dp[maxv]判断 <=m 那些值可以被组成。
用一个used[maxv] 来判断第i个数使用的次数。
//可行性背包#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<queue>#include<vector>using namespace std;const int maxn = 1e2+5;const int maxv = 1e5+5;int a[maxn],c[maxn];int used[maxv];int dp[maxv];int ans;int n,m;void Multiple_backpack(int val,int number){ memset(used,0,sizeof(used)); for(int i=val;i<=m;i++) { if(!dp[i] && dp[i-val] && used[i-val]<number) { used[i] = used[i-val] + 1; dp[i] = 1; ans++; } }}void solve(){ memset(dp,0,sizeof(dp)); dp[0] = 1; for(int i=0;i<n;i++) { Multiple_backpack(a[i],c[i]); } printf("%d\n",ans);}int main(){ while(~scanf("%d%d",&n,&m)&& (n+m)) { ans = 0; for(int i=0;i<n;i++)scanf("%d",&a[i]); for(int i=0;i<n;i++)scanf("%d",&c[i]); solve(); } return 0;}
阅读全文
0 0
- 可行性背包
- POJ1742可行性背包
- 多重背包-可行性poj1742
- poj 1742 多重背包可行性
- 多重背包的可行性问题
- poj 1742 多重背包,可行性
- POJ1742 Coins(多重背包可行性)
- poj 1742 Coins(多重背包可行性问题)
- 【DP|多重背包可行性】POJ-1742 Coins
- poj 1742 Coins (多重背包可行性问题)
- poj 1742 多重背包可行性问题
- 【DP|多重背包可行性】POJ-1014 Dividing
- poj1742 多重背包的可行性问题
- 背包可行性问题O(n*V)
- POJ1742 Coins(多重背包可行性)
- poj2184(背包的可行性解法)
- HDU 2844 Coins 多重背包判断可行性
- poj 1742 Coins【多重背包可行性问题】
- (C++)二叉树的线索化 / 线索二叉树
- 初学mysql sever 笔记|主机与虚拟机在同一网段
- 【LintCode】3.统计数字(Medium)解题报告
- codeforces 151A【python】
- C++——面向对象(一)——默认的构造函数(1)
- 可行性背包
- C++ 类的初始化列表
- cmd页面的大小
- 关于bits
- HTML测试(w3school)
- Python基础检测:20171105
- codeforces 560A【python】
- openwrt增加密码及ssh的方法
- LeetCode 657 Judge Route Circle 判断路线圈