02bag模板
cost->体积 weight->价值
hdu2844
可达/不可达
#include <stdio.h>
#include <algorithm>
#include <string.h>
using namespace std; const int MAX=;
int dp[MAX];
int c[MAX],w[MAX];
int v; void ZeroOnePack(int cost,int wei)//
{
int i;
for(i = v;i>=cost;i--)
{
dp[i] = max(dp[i],dp[i-cost]+wei);
}
} void CompletePack(int cost,int wei)//完全
{
int i;
for(i = cost;i<=v;i++)
{
dp[i] = max(dp[i],dp[i-cost]+wei);
}
} void MultiplePack(int cost,int wei,int cnt)//多重
{
if(v<=cnt*cost)//如果总容量比这个物品的容量要小,那么这个物品可以直到取完,相当于完全背包
{
CompletePack(cost,wei);
return ;
}
else//否则就将多重背包转化为01背包
{
int k = ;
while(k<=cnt)
{
ZeroOnePack(k*cost,k*wei);
cnt = cnt-k;
k = *k;
}
ZeroOnePack(cnt*cost,cnt*wei);
}
} int main()
{
int n;
while(~scanf("%d%d",&n,&v),n+v)
{
int i;
for(i = ;i<n;i++)
scanf("%d",&c[i]);
for(i = ;i<n;i++)
scanf("%d",&w[i]);
memset(dp,,sizeof(dp));
for(i = ;i<n;i++)
{
MultiplePack(c[i],c[i],w[i]);
}
int sum = ;
for(i = ;i<=v;i++)
{
if(dp[i]==i)
{
sum++;
}
}
printf("%d\n",sum);
}
return ;
}
普通模板 hdu2191
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<cstring>
#include<string.h>
#include<string>
using namespace std; int c[],w[],num[];
int dp[];
int v,V,V1; void ZeroOnePack(int c, int w)
{
for(int v = V; v >=c; v--)
{
dp[v] = max(dp[v],dp[v-c]+w);
}
} void CompletePack(int c, int w)
{
for(int v = c; v <= V; v++)
{
dp[v] = max(dp[v],dp[v-c]+w);
}
} void MultiplePack(int c, int w, int num)
{
if(c * num >= V)
{
CompletePack(c,w);
}
else
{
int k = ;
while(k < num)
{
ZeroOnePack(k*c, k*w);
num -= k;
k <<= ;
}
ZeroOnePack(num*c, num*w);
}
}
int main()
{
int t;
scanf("%d",&t);
int n;
int i;
while(t--)
{
scanf("%d%d",&V,&n);
for(i = ; i <=n; i++)
{
scanf("%d%d%d",&c[i], &w[i], &num[i]);
}
memset(dp,,sizeof(dp));
for(i = ; i <= n; i++)
{
MultiplePack(c[i],w[i],num[i]);
}
printf("%d\n",dp[V]);
}
return ;
}
02bag模板的更多相关文章
- Jade模板引擎让你飞
写在前面:现在jade改名成pug了 一.安装 npm install jade 二.基本使用 1.简单使用 p hello jade! 渲染后: <p>hello jade!</p ...
- ABP入门系列(2)——通过模板创建MAP版本项目
一.从官网创建模板项目 进入官网下载模板项目 依次按下图选择: 输入验证码开始下载 下载提示: 二.启动项目 使用VS2015打开项目,还原Nuget包: 设置以Web结尾的项目,设置为启动项目: 打 ...
- CMS模板应用调研问卷
截止目前,已经有数十家网站与我们合作,进行了MIP化改造,在搜索结果页也能看到"闪电标"的出现.除了改造方面的问题,MIP项目组被问到最多的就是:我用了wordpress,我用了织 ...
- PHP-自定义模板-学习笔记
1. 开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2. 整体架构图 ...
- 【原创分享·微信支付】C# MVC 微信支付之微信模板消息推送
微信支付之微信模板消息推送 今天我要跟大家分享的是“模板消息”的推送,这玩意呢,你说用途嘛,那还是真真的牛逼呐.原因在哪?就是因为它是依赖微信生存的呀,所以他能不 ...
- OpenCV模板匹配算法详解
1 理论介绍 模板匹配是在一幅图像中寻找一个特定目标的方法之一,这种方法的原理非常简单,遍历图像中的每一个可能的位置,比较各处与模板是否“相似”,当相似度足够高时,就认为找到了我们的目标.OpenCV ...
- 前端MVC学习总结(一)——MVC概要与angular概要、模板与数据绑定
一.前端MVC概要 1.1.库与框架的区别 框架是一个软件的半成品,在全局范围内给了大的约束.库是工具,在单点上给我们提供功能.框架是依赖库的.AngularJS是框架而jQuery则是库. 1.2. ...
- ThinkPHP+Smarty模板中截取包含中英文混合的字符串乱码的解决方案
好几天没写博客了,其实有好多需要总结的,因为最近一直在忙着做项目,但是困惑了几天的Smarty模板中截取包含中英文混合的字符串乱码的问题,终于解决了,所以记录下来,需要的朋友看一下: 出现乱码的原因: ...
- ThinkPHP 模板substr的截取字符串函数
ThinkPHP 模板substr的截取字符串函数在Common/function.php加上以下代码 /** ** 截取中文字符串 **/ function msubstr($str, $start ...
随机推荐
- SAS数据挖掘实战篇【三】
SAS数据挖掘实战篇[三] 从数据挖掘概念到SAS EM模块和大概的流程介绍完之后,下面的规划是[SAS关联规则案例][SAS聚类][SAS预测]三个案例的具体操作步骤,[SAS的可视化技术]和[SA ...
- Asp.Net Core 反向工程
反向工程1.反向工程是实体类型类和一个基于数据库架构的 DbContext 类的基架的过程2.Scaffold-DbContext(数据库上下文脚手架) 使用Scaffold-DbContext ...
- JavaScript基础入门09
目录 JavaScript 基础入门09 Event 自定义右键菜单 获取鼠标按键 获取鼠标坐标 获取键盘按键 页面中位置的获取 浏览器的默认行为 冒泡 什么是冒泡 小练习 JavaScript 基础 ...
- Day02:基本IO操作
IO流 基本IO与OS 按照流的方向主要分为输入流和输出流. 数据流按照数据单位的不同分为字节流和字符流. 按照功能可以划分节点流和处理流. 节点流与处理流 按照流是否直接与特定的地方(如磁盘.内存. ...
- DDoS攻击的几种类型
DDoS攻击的几种类型 随着网络攻击的简单化,如今DDoS攻击已经不止出现在大型网站中,就连很多中小型网站甚至是个人网站往往都可能面临着被DDoS攻击的的风险.或许很多站长对DDoS攻击并不是很了 ...
- CTF—攻防练习之HTTP—SQL注入(SSI注入)
主机:192.168.32.152 靶机:192.168.32.161 ssI是赋予html静态页面的动态效果,通过ssi执行命令,返回对应的结果,若在网站目录中发现了.stm .shtm .shtm ...
- 【HANA系列】SAP HANA SQL从给定日期中获取分钟
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP HANA SQL从给定日 ...
- Linux 操作命令简
一.Linux命令及获取帮助 1.Linux命令的格式1)了解Linux命令的语法格式:命令 [选项] [参数]2)掌握命令格式中命令.选项.参数的具体含义a)命令:告诉Linux(UNIX)操作系统 ...
- (转) pip Fatal error in launcher: Unable to create process using
接上篇“Eclipse启动报错:JVM terminated. Exit code=2”,今天把Python的安装位置也从C盘剪切到了D盘, 然后修改了Path环境变量中对应的盘符:D:\Python ...
- Column常用的参数
#encoding: utf-8 from sqlalchemy import create_engine,Column,Integer,String,DateTime from sqlalchemy ...