当前位置: 首页 > news >正文

饰品网站模版百度统计怎么用

饰品网站模版,百度统计怎么用,wordpress 用户增强,做网站可以干什么混合背包是指多种背包模型的组合与转化。 下面通过题目加深理解。 题目一 测试链接:1742 -- Coins 分析:这道题可以通过硬币的个数将其转化为01背包,完全背包和多重背包。如果硬币的个数是1个,则是01背包;如果硬币的…

混合背包是指多种背包模型的组合与转化。

下面通过题目加深理解。

题目一

测试链接:1742 -- Coins

分析:这道题可以通过硬币的个数将其转化为01背包,完全背包和多重背包。如果硬币的个数是1个,则是01背包;如果硬币的面值×硬币的个数大于当前需要找零的数额,则是完全背包;否则是多重背包。对于不同的背包进行不同的可能性展开,最后统计,即可得到答案。代码如下。

#include <iostream>
using namespace std;
int n, m;
int number, ans_index = 0;
int coin[100][2];
bool dp[100001];
int ans[100];
int main(void){scanf("%d%d", &n, &m);while (!(n == 0 && m == 0)){number = 0;for(int i = 0;i < n;++i){scanf("%d", &coin[i][0]);}for(int i = 0;i < n;++i){scanf("%d", &coin[i][1]);}for(int i = 1;i <= m;++i){dp[i] = false;}dp[0] = true;for(int i = 0;i < n;++i){if(coin[i][1] == 1){for(int j = m;j >= 0 && j - coin[i][0] >= 0;--j){dp[j] |= dp[j-coin[i][0]];}}else if(coin[i][0] * coin[i][1] > m){for(int j = 0;j <= m;++j){if(j - coin[i][0] >= 0){dp[j] |= dp[j-coin[i][0]];}}}else{for(int j = m;j >= 0;--j){for(int k = 1;k <= coin[i][1] && j - k * coin[i][0] >= 0;++k){dp[j] |= dp[j-k*coin[i][0]];}}}}for(int i = 1;i <= m;++i){if(dp[i]){++number;}}ans[ans_index++] = number;scanf("%d%d", &n, &m);}for(int i = 0;i < ans_index;++i){printf("%d\n", ans[i]);}return 0;
}

其中,求dp数组循环中,i为在下标0~i的物品中取。当然,这道题其实可以直接将其当作一个多重背包,二进制优化后转化为01背包进行求解。代码如下。

#include <iostream>
using namespace std;
int n, m;
int data_index, temp, number, ans_index = 0, coin_num;
int coin[100];
bool dp[100001];
int data[1001];
int ans[100];
int main(void){scanf("%d%d", &n, &m);while (!(n == 0 && m == 0)){data_index = 0;number = 0;for(int i = 0;i < n;++i){scanf("%d", &coin[i]);}for(int i = 0;i < n;++i){scanf("%d", &coin_num);temp = 1;while (coin_num >= temp){data[data_index++] = temp * coin[i];coin_num -= temp;temp *= 2;}if(coin_num > 0){data[data_index++] = coin_num * coin[i];}}for(int i = 1;i <= m;++i){dp[i] = false;}dp[0] = true;for(int i = 0;i < data_index;++i){for(int j = m;j >= 0 && j - data[i] >= 0;--j){dp[j] |= dp[j-data[i]];}}for(int i = 1;i <= m;++i){if(dp[i]){++number;}}ans[ans_index++] = number;scanf("%d%d", &n, &m);}for(int i = 0;i < ans_index;++i){printf("%d\n", ans[i]);}return 0;
}

http://www.tj-hxxt.cn/news/48645.html

相关文章:

  • 南开建设网站企业网站模板源码
  • html做网站的原则深圳sem竞价托管
  • 服装网站banner怎么做西安疫情最新通知
  • 可以做mc图片的网站2345网址导航下载桌面
  • u盘搭建网站开发环境方法做网站的软件
  • 油气集输毕业设计代做网站企业网络营销的模式有哪些
  • 唐山做网站公司哪家好一份完整的电商运营方案
  • 怎么做网站客服弹窗网站建设规划书
  • 灵芝产品网站建设方案百度账户登录
  • o2o网站开发价格网页搜索
  • 做网站素材在哪找专业网店推广
  • 柳州学校网站建设网络营销软件哪个好用
  • 网站优化潍坊seo入门培训学多久
  • 建网站要学什么百度正式员工工资待遇
  • 网站开发程序都有什么看广告赚钱的平台
  • 网站广告动图怎么做的有没有免费推广平台
  • c语言做网站后台服务郑州网站建设方案优化
  • wordpress虚拟商品插件一键优化免费下载
  • 网站建设开什么名目百度网页游戏大厅
  • 南宁有做校园门户网站的吗百度ai开放平台
  • 冻品网站建设哪家公司做seo
  • 武汉手机网站建设信息seo优化技巧有哪些
  • 广告公司用的什么软件沈阳高端关键词优化
  • 前端网站demo网站提交链接入口
  • 易支付做网站接口怎么赚钱软文广告经典案例300
  • 铺铺旺网站做多久了成都最新数据消息
  • 商城网站建设流程浏阳廖主任打人案
  • 梅州免费建站公司网络公关公司收费
  • 厦门市建设局网站 限价房网络热词2022
  • 中山快速做网站服务江苏营销型网站建设