<li id="4vgym"></li>
  • <tbody id="4vgym"><center id="4vgym"></center></tbody>
    <em id="4vgym"><ruby id="4vgym"></ruby></em>
    <rp id="4vgym"></rp>
      <th id="4vgym"><track id="4vgym"><rt id="4vgym"></rt></track></th>
    1. <rp id="4vgym"></rp>
      <tbody id="4vgym"></tbody>

      新聞分類

      產品分類

      聯系我們

      深圳市豐茂手袋皮具有限公司

      電話:0755-27378729

      郵箱:bfm@szbfm.com

      傳真:0755-27378857

      地址:深圳市寶安區福永街道鳳凰第一工業區A31棟

      網址:www.2016pjcp.com

      關于三種背包的問題

      您的當前位置: 首 頁 >> 新聞中心 >> 技術知識

      關于三種背包的問題

      發布日期:2019-06-29 作者:admin 點擊:

      關于三種背包的問題

      【摘要】有人說,困難的題目都是由簡單的題目疊加而來的。這句話是否公理暫且存之不論,但它在本講中已經得到了充分的體現。本來01背包、完全背包、多重背包都不是什么難題,但將它們簡單地組合起來以后就得到了這樣一道一定能嚇倒不少人的題目。但只要基礎扎實,領會三種基本背包問題的思想,就可以做到把困難的題目拆分成簡單的題目來解決。

      如果將P01、P02、P03混合起來。也就是說,有的物品只可以取一次(01背包),有的物品可以取無限次(完全背包),有的物品可以取的次數有一個上限(多重背包)。應該怎么求解呢?
      背包混合

      商務包公文包考慮到在P01和P02中Z后給出的偽代碼只有一處不同,故如果只有兩類物品:一類物品只能取一次,另一類物品可以取無限次,那么只需在對每個物品應用轉移方程時,根據物品的類別選用順序或逆序的循環即可,復雜度是O(VN)。偽代碼如下:
      for i=1..N
      if 第i件物品是01背包
      for v=V..0
      f[v]=max{f[v],f[v-c]+w};
      else if 第i件物品是完全背包
      for v=0..V
      f[v]=max{f[v],f[v-c]+w};
      再加上多重背包
      如果再加上有的物品Z多可以取有限次,那么原則上也可以給出O(VN)的解法:遇到多重背包類型的物品用單調隊列解即可。但如果不考慮超過NOIP范圍的算法的話,用P03中將每個這類物品分成O(log n)個01背包的物品的方法也已經很優了。
      小結
      有人說,困難的題目都是由簡單的題目疊加而來的。這句話是否公理暫且存之不論,但它在本講中已經得到了充分的體現。本來01背包、完全背包、多重背包都不是什么難題,但將它們簡單地組合起來以后就得到了這樣一道一定能嚇倒不少人的題目。但只要基礎扎實,領會三種基本背包問題的思想,就可以做到把困難的題目拆分成簡單的題目來解決。



      本文網址:http://www.2016pjcp.com/news/403.html

      相關標簽:商務包公文包

      Z近瀏覽:

      相關產品:

      在線客服
      分享 一鍵分享
      歡迎給我們留言
      請在此輸入留言內容,我們會盡快與您聯系。
      姓名
      聯系人
      電話
      座機/手機號碼
      郵箱
      郵箱
      地址
      地址
      久久99视热频国只有精品_国产丰满老熟女重口对白_亚洲欧美日韩高清一区_两个人在线观看免费完整版
      博兴县仪器有限公司 鄄城县造纸有限公司 自贡市坚果有限公司 自贡市干果有限公司 德清县坚果有限公司 庆云县家禽有限公司
      平原县动物有限公司 天水市动植物种苗有限公司 长岛县牲畜有限公司 宝鸡市棉类有限公司 绵阳市杂果有限公司 莒南县果仁有限公司
      博兴县动物有限公司 铜仁市木炭有限公司 松阳县培训有限公司 高唐县电子有限公司 安顺市干果有限公司 德清县花木有限公司