hdu3591The trouble of Xiaoqian 多重背包+全然背包
//给出Xiaoqian的钱币的价值和其身上有的每种钱的个数
//商家的每种钱的个数是无穷,xiaoqian一次最多付20000
//问如何付钱交易中钱币的个数最少
//Xiaoqian是多重背包
//商家是全然背包
#include<cstdio>
#include<cstring>
#include<iostream>
using namespace std ;
const int maxn = 20010 ;
const int inf = 0x3f3f3f3f ;
int dp[maxn] ;
int dp_1[maxn] ;
int c[maxn],v[maxn] ;
int n , t ;int cas = 0 ;
int main()
{
//freopen("in.txt" ,"r" , stdin) ;
while(scanf("%d%d",&n , &t) &&(n+t))
{
for(int i = 1;i <= n;i++)
scanf("%d" , &v[i]) ;
for(int i = 1;i <= n;i++)
scanf("%d" , &c[i]) ;
for(int i = 1;i < maxn;i++)
dp[i] = dp_1[i] = inf ;
dp_1[0] = 0 ; dp[0] = 0 ;
for(int i = 1;i <= n;i++)
for(int j = v[i] ; j < maxn ;j++)
dp_1[j] = min(dp_1[j], dp_1[j-v[i]] + 1) ;
for(int i = 1;i <= n;i++)
{
for(int k = 1;k <= c[i];k*=2)
{
for(int j = maxn - 1;j >= k*v[i];j--)
dp[j] = min(dp[j] , dp[j-k*v[i]] + k) ;
c[i]-=k;
}
for(int j = maxn-1;j >= c[i]*v[i];j--)
dp[j] = min(dp[j] , dp[j - c[i]*v[i]] + c[i]) ;
}
int ans = inf;
for(int i = t; i <= maxn -10;i++)
if(dp[i] != inf && dp_1[i - t] != inf)
ans = min(dp[i] + dp[i-t] , ans) ;
printf("Case %d: " ,++cas) ;
if(ans == inf)puts("-1") ;
else cout<<ans<<endl;
}
}
hdu3591The trouble of Xiaoqian 多重背包+全然背包的更多相关文章
- HDU 3591 The trouble of Xiaoqian(多重背包+全然背包)
HDU 3591 The trouble of Xiaoqian(多重背包+全然背包) pid=3591">http://acm.hdu.edu.cn/showproblem.php? ...
- POJ 3260 The Fewest Coins(多重背包+全然背包)
POJ 3260 The Fewest Coins(多重背包+全然背包) http://poj.org/problem?id=3260 题意: John要去买价值为m的商品. 如今的货币系统有n种货币 ...
- B 维背包+完全背包 Hdu2159
<span style="color:#3333ff;">/* ---------------------------------------------------- ...
- 01背包模板、全然背包 and 多重背包(模板)
转载请注明出处:http://blog.csdn.net/u012860063 贴一个自觉得解说不错的链接:http://www.cppblog.com/tanky-woo/archive/2010/ ...
- HDU_3591_(多重背包+完全背包)
The trouble of Xiaoqian Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/ ...
- POJ 3260 多重背包+完全背包
前几天刚回到家却发现家里没网线 && 路由器都被带走了,无奈之下只好铤而走险尝试蹭隔壁家的WiFi,不试不知道,一试吓一跳,用个手机软件简简单单就连上了,然后在浏览器输入192.168 ...
- HDU 1248 寒冰王座(全然背包:入门题)
HDU 1248 寒冰王座(全然背包:入门题) http://acm.hdu.edu.cn/showproblem.php?pid=1248 题意: 不死族的巫妖王发工资拉,死亡骑士拿到一张N元的钞票 ...
- HDU 4508 湫湫系列故事——减肥记I(全然背包)
HDU 4508 湫湫系列故事--减肥记I(全然背包) http://acm.hdu.edu.cn/showproblem.php?pid=4508 题意: 有n种食物, 每种食物吃了能获得val[i ...
- A_全然背包
/* copyright: Grant Yuan algorithm: 全然背包 time : 2014.7.18 __________________________________________ ...
随机推荐
- 如何获取JavaCard剩余空间
0x01应用场景 获取JavaCard卡内剩余空间,一方面是在评估一张卡的时候需要用到,另一方面是在应用个人化或者运行时需要用到. 例如:应用提供商为了保证自己的应用在卡内运行期间能够不受空间影响,一 ...
- html获取当前地址的参数
//jsd代码 function UrlSearch(){ var name,value; var str1 = ""; var str=loc ...
- POJ 1815 Friendship(字典序最小的最小割)
Friendship Time Limit: 2000MS Memory Limit: 20000K Total Submissions: 10744 Accepted: 2984 Descr ...
- pat 团体天梯赛 L3-007. 天梯地图
L3-007. 天梯地图 时间限制 300 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 本题要求你实现一个天梯赛专属在线地图,队员输入自己学校 ...
- spring boot 运行jsp原理分析
Spring-boot运行jsp原理分析 结论: 启动server的时候会创建临时目录 在浏览器中访问jsp文件的时候通过内置Tomcat将jsp转换为java,保存在临时目录中 然后编译为cla ...
- POJ 2168 Popular cows [Tarjan 缩点]
...
- VS2008 没办法太强大了
原文发布时间为:2009-06-13 -- 来源于本人的百度文章 [由搬家工具导入] VS2008 太强大了。。。继续学习。。。。现在微软的某些强大功能也是针对 VS2008了。。。所以。。必须得装上 ...
- DataRelation 实现父子表 父子级 Repeater的嵌套使用
原文发布时间为:2009-05-21 -- 来源于本人的百度文章 [由搬家工具导入] DataRelation 实现父子表 if (!IsPostBack) { ...
- c#.net前台调用JS文件中的函数[.net与JavaScript的应用]
原文发布时间为:2008-10-10 -- 来源于本人的百度文章 [由搬家工具导入] <%@ Page Language="C#" AutoEventWireup=" ...
- svn没有"对号"等符号
[问题描述]调整svn建立好了服务端.安装客户端也检出成功了.但是就是没有对号符号. [解决方案]右键菜单,设置,里面有“图标覆盖”这个选项,把你的文件夹加入进去,然后注销windows用户重新登陆