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

填写网站备案信息沈阳网站设计营销型

填写网站备案信息,沈阳网站设计营销型,wordpress多功能图片主题,深圳网站建设 利科技多重背包 问题描述:给定 n n n种物品和一个体积为 V V V的背包,第 i i i种物品数量为 m i m_i mi​,体积为 c i c_i ci​,价值为 w i w_i wi​。如何装填背包使总价值最大? 通过直接求解,转移方程式&…

多重背包

问题描述:给定 n n n种物品和一个体积为 V V V的背包,第 i i i种物品数量为 m i m_i mi,体积为 c i c_i ci,价值为 w i w_i wi。如何装填背包使总价值最大?

通过直接求解,转移方程式: d p [ i ] [ j ] = max ⁡ ( d p [ i − 1 ] [ j ] , d p [ i − 1 ] [ j − k × c [ i ] ] + k × w [ i ] ) , k ∈ [ 1 , min ⁡ ( m [ i ] , j c [ i ] ) ] dp[i][j]=\max(dp[i-1][j],dp[i-1][j-k\times c[i]]+k\times w[i]),k\in[1,\min(m[i],\frac{j}{c[i]})] dp[i][j]=max(dp[i1][j],dp[i1][jk×c[i]]+k×w[i]),k[1,min(m[i],c[i]j)]。复杂度 O ( V ∑ i = 1 n m i ) O(V\sum\limits_{i=1}^n m_i) O(Vi=1nmi),超时。

实际上,多重背包属于 0 / 1 0/1 0/1背包的推广,易得其可转换为 0 / 1 0/1 0/1背包问题:将第 i i i种物品视为 m i m_i mi种独立(不同)的物品,并按 0 / 1 0/1 0/1背包求解。定义状态数组 d p [ i ] [ j ] dp[i][j] dp[i][j],表示将前 i i i个物品放入容积为 j j j的背包时的最大价值。实际上复杂度不变,仍为 O ( V ∑ i = 1 n m i ) O(V\sum\limits_{i=1}^n m_i) O(Vi=1nmi),超时。

int dp[n+1][V+1],c[n],w[n],m[n];
int MultiplePack(){for(int i=0;i<=n;i++) dp[i][0]=0;for(int i=0;i<=V;i++) dp[0][i]=0;for(int i=1;i<=n;i++)for(int j=1;j<=V;j++)for(int k=1;k<=m[i]&&k*c[i]<=j;k++)dp[i][j]=max(dp[i][j],dp[i-1][j-k*c[i]]+k*w[i]);return dp[n][V];
}

二进制优化

原理:倍增。任意十进制整数均可使用2的幂次经过有限次相加得到,以 2 i ( i ∈ [ 0 , ⌈ log ⁡ 2 m i ⌉ + 1 ] ) 2^i(i\in[0,\lceil\log_2m_i\rceil+1]) 2i(i[0,log2mi+1])顺次拆分,最后可能有一个余数。因此使用倍增即可将第 i i i种物品变为 log ⁡ 2 m i \log_2m_i log2mi个,每个物品体积为 2 k × c i 2^k\times c_i 2k×ci,价值为 2 k × w i 2^k\times w_i 2k×wi

以下为二进制拆分代码,之后使用new_nnew_cnew_w 0 / 1 0/1 0/1背包求解即可。复杂度 O ( V ∑ i = 1 n log ⁡ 2 m i ) O(V\sum\limits_{i=1}^n \log_2m_i) O(Vi=1nlog2mi)

int new_n=0,new_c[N],new_w[N];
for(int i=1;i<=n;i++){//遍历每种物品for(int j=1;j<=m[i];j<<=1){//遍历每种物品的个数new_n++;m[i]-=j;new_c[new_n]=j*c[i];new_w[new_n]=j*w[i];}if(m[i]){//若有余数new_n++;new_c[new_n]=m[i]*c[i];new_w[new_n]=m[i]*w[i];}
}

单调队列优化

http://www.dtcms.com/wzjs/806466.html

相关文章:

  • 高中网站制作做互联网平台要多少钱
  • 工厂做网站购物网站怎么做优化
  • 做外围什么网站有客户wordpress怎么移动文章分类
  • 淘宝客网站怎么做优化中国做本地服务好的网站
  • 怎么做钓鱼网站生成网站建设及网络营销
  • 东圃做网站网站开发的感想
  • 做好网站建设和运营天津网站建设专家
  • 购物网站主页怎么做wordpress下载链接
  • 网站icp备案申请wordpress 文章 繁体
  • 网站导航栏的作用wordpress文章内容不带标签
  • 围上如何做快递查单网站一个网站怎么留住用户
  • 制作网站注册页面在线网站建设收费
  • 无代码app制作平台安徽搜索引擎优化
  • 怎样做网站外链wordpress图标字体不显示不出来
  • vps 做镜像网站discuz做企业网站
  • 沈阳市城市建设学院官方网站简述网络营销的概念
  • 中信建设官网站首页东莞建设公司网站
  • 国际物流公司网站建设东圃做网站
  • 上海 网站建设 案例网站单页发布
  • 淘宝刷单的网站建设假建设银行网站
  • 网站制作软件手机百度蜘蛛抓取新网站
  • 免费申请做网站做网站是数据库应该放在哪里
  • 手工制作网站为什么做网站需要服务器
  • 河南营销型网站建设北京工程建设信息交易网
  • 做旅行社业务的网站都有哪些免费网站建站app
  • 环保网站模板代码wordpress添加相册页面
  • 手机网站模板单页sanitize_user wordpress
  • 网站建设信息稿永久域名怎么注册
  • 北京企业建站定制wordpress邮箱汉化插件下载地址
  • 网站建站怎么报价做网站和平台多少钱