霽彩華年,因夢同行—— 慶祝深圳霽因生物醫(yī)藥轉(zhuǎn)化研究院成立十周年 情緒益生菌PS128助力孤獨癥治療,權(quán)威研究顯示可顯著改善孤獨癥癥狀 PARP抑制劑氟唑帕利助力患者從維持治療中獲益,改寫晚期卵巢癌治療格局 新東方智慧教育發(fā)布“東方創(chuàng)科人工智能開發(fā)板2.0” 精準血型 守護生命 腸道超聲可用于檢測兒童炎癥性腸病 迷走神經(jīng)刺激對抑郁癥有積極治療作用 探索梅尼埃病中 MRI 描述符的性能和最佳組合 自閉癥患者中癡呆癥的患病率增加 超聲波 3D 打印輔助神經(jīng)源性膀胱的骶神經(jīng)調(diào)節(jié) 胃食管反流病患者耳鳴風險增加 間質(zhì)性膀胱炎和膀胱疼痛綜合征的臨床表現(xiàn)不同 研究表明 多語言能力可提高自閉癥兒童的認知能力 科學家揭示人類與小鼠在主要癌癥免疫治療靶點上的驚人差異 利用正確的成像標準改善對腦癌結(jié)果的預(yù)測 地中海飲食通過腸道細菌變化改善記憶力 讓你在 2025 年更健康的 7 種驚人方法 為什么有些人的頭發(fā)和指甲比其他人長得快 物質(zhì)的使用會改變大腦的結(jié)構(gòu)嗎 飲酒如何影響你的健康 20個月,3大平臺,300倍!元育生物以全左旋蝦青素引領(lǐng)合成生物新紀元 從技術(shù)困局到創(chuàng)新錨點,天與帶來了一場屬于養(yǎng)老的“情緒共振” “華潤系”大動作落槌!昆藥集團完成收購華潤圣火 十七載“冬至滋補節(jié)”,東阿阿膠將品牌營銷推向新高峰 150個國家承認巴勒斯坦國意味著什么 中國海警對非法闖仁愛礁海域菲船只采取管制措施 國家四級救災(zāi)應(yīng)急響應(yīng)啟動 涉及福建、廣東 女生查分查出608分后,上演取得理想成績“三件套” 多吃紅色的櫻桃能補鐵、補血? 中國代表三次回擊美方攻擊指責 探索精神健康前沿|情緒益生菌PS128閃耀寧波醫(yī)學盛會,彰顯科研實力 圣美生物:以科技之光,引領(lǐng)肺癌早篩早診新時代 神經(jīng)干細胞移植有望治療慢性脊髓損傷 一種簡單的血漿生物標志物可以預(yù)測患有肥胖癥青少年的肝纖維化 嬰兒的心跳可能是他們說出第一句話的關(guān)鍵 研究發(fā)現(xiàn)基因檢測正成為主流 血液測試顯示心臟存在排斥風險 無需提供組織樣本 假體材料有助于減少靜脈導管感染 研究發(fā)現(xiàn)團隊運動對孩子的大腦有很大幫助 研究人員開發(fā)出診斷 治療心肌炎的決策途徑 兩項研究評估了醫(yī)療保健領(lǐng)域人工智能工具的發(fā)展 利用女子籃球隊探索足部生物力學 抑制前列腺癌細胞:雄激素受體可以改變前列腺的正常生長 肽抗原上的反應(yīng)性半胱氨酸可能開啟新的癌癥免疫治療可能性 研究人員發(fā)現(xiàn)新基因療法可以緩解慢性疼痛 研究人員揭示 tisa-cel 療法治療復(fù)發(fā)或難治性 B 細胞淋巴瘤的風險 適量飲酒可降低高危人群罹患嚴重心血管疾病的風險 STIF科創(chuàng)節(jié)揭曉獎項,新東方智慧教育榮膺雙料殊榮 中科美菱發(fā)布2025年產(chǎn)品戰(zhàn)略布局!技術(shù)方向支撐產(chǎn)品生態(tài)縱深! 從雪域高原到用戶口碑 —— 復(fù)方塞隆膠囊的品質(zhì)之旅
您的位置:首頁 >要聞 >

01背包問題可以用哪些方法(0 1背包問題)

關(guān)于01背包問題可以用哪些方法,0 1背包問題這個問題很多朋友還不知道,今天小六來為大家解答以上的問題,現(xiàn)在讓我們一起來看看吧!

1、"P01: 01背包問題題目有N件物品和1個容量為V的背包。

2、第i件物品的費用是c[i],價值是w[i]。

3、求解將哪些物品裝入背包可使價值總和最大。

4、基本思路這是最基礎(chǔ)的背包問題,特點是:每種物品僅有一件,可以選取放或不放。

5、用子問題定義狀態(tài):即f[i][v]表示前i件物品恰放入1個容量為v的背包可以獲得的最大價值。

6、則其狀態(tài)轉(zhuǎn)移方程便是:f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]+w[i]}這個方程非常重要,基本上全部跟背包相關(guān)的問題的方程都是由它衍生出來的。

7、因此有必要將它清楚解釋一下:“將前i件物品放入容量為v的背包中”這個子問題,若只考慮第i件物品的策略(放或不放),那么就可以轉(zhuǎn)化為1個只牽扯前i-1件物品的問題。

8、假如不放第i件物品,那么問題就轉(zhuǎn)化為“前i-1件物品放入容量為v的背包中”,價值為f[i-1][v];假如放第i件物品,那么問題就轉(zhuǎn)化為“前i-1件物品放入剩下的容量為v-c[i]的背包中”,此時能獲得的最大價值就是f[i-1][v-c[i]]再加上通過放入第i件物品獲得的價值w[i]。

9、優(yōu)化空間復(fù)雜度以上方法的時間和空間復(fù)雜度均為O(N*V),其中時間復(fù)雜度基本已經(jīng)不能再優(yōu)化了,但空間復(fù)雜度卻可以優(yōu)化到O(V)。

10、先考慮上邊講的基本思路怎么實現(xiàn),肯定是有1個主循環(huán)i=1..N,每回算出來二維數(shù)組f[i][0..V]的全部值。

11、那么,假如只用1個數(shù)組f[0..V],能不能保證第i次循環(huán)結(jié)束后f[v]中表示的就是我們定義的狀態(tài)f[i][v]呢?f[i][v]是由f[i-1][v]和f[i-1][v-c[i]]2個子問題遞推而來,能否保證在推f[i][v]時(也即在第i次主循環(huán)中推f[v]時)能夠得到f[i-1][v]和f[i-1][v-c[i]]的值呢?事實上,這要求在每回主循環(huán)中我們以v=V..0的順序推f[v],這樣才可以保證推f[v]時f[v-c[i]]保存的是狀態(tài)f[i-1][v-c[i]]的值。

12、偽代碼如下:for i=1..N for v=V..0 f[v]=max{f[v],f[v-c[i]]+w[i]};其中的f[v]=max{f[v],f[v-c[i]]}一句恰就相當于我們的轉(zhuǎn)移方程f[i][v]=max{f[i-1][v],f[i-1][v-c[i]]},由于目前的f[v-c[i]]就相當于原來的f[i-1][v-c[i]]。

13、假如將v的循環(huán)順序從上邊的逆序改成順序的話,那么則成了f[i][v]由f[i][v-c[i]]推知,與本題意不符,但它卻是另1個重要的背包問題P02最簡捷的處理方案,故學習只用一維數(shù)組解01背包問題是十分必要的。

14、事實上,用一維數(shù)組解01背包的程序在后面會被多次用到,因此這里抽象出1個處理一件01背包中的物品過程,以后的代碼中直接調(diào)出使用不加說明。

15、過程ZeroOnePack,表示處理一件01背包中的物品,2個參數(shù)cost、weight分別表明這件物品的費用和價值。

16、procedure ZeroOnePack(cost,weight) for v=V..cost f[v]=max{f[v],f[v-cost]+weight}注意這個過程里的處理與前面給出的偽代碼有所不一樣。

17、前面的示例程序?qū)懗蓈=V..0是為了在程序中體現(xiàn)每一個狀態(tài)都按照方程求解了,避免不必要的思維復(fù)雜度。

18、而這里既然已經(jīng)抽象成看作黑箱的過程了,就可以加入優(yōu)化。

19、費用為cost的物品不會影響狀態(tài)f[0..cost-1],這是顯然的。

20、有了這個過程以后,01背包問題的偽代碼就可以這樣寫:for i=1..N ZeroOnePack(c[i],w[i]);初始化的細節(jié)問題我們看見的求最優(yōu)解的背包問題題目中,事實上有兩種不太相同的問法。

21、有的題目要求“恰好裝滿背包”時的最優(yōu)解,有的題目則并木有要求必須把背包裝滿。

22、一種區(qū)別這兩種問法的實現(xiàn)方法是在初始化的時候有所不一樣。

23、假如是第一種問法,要求恰好裝滿背包,那么在初始化時除了f[0]為0其它f[1..V]均設(shè)為-∞,這樣就可以保證最終得到的f[N]是一種恰好裝滿背包的最優(yōu)解。

24、假如并木有要求必須把背包裝滿,而是只期望價錢盡量大,初始化時應(yīng)當將f[0..V]全部設(shè)為0。

25、為啥呢?可以這樣理解:初始化的f數(shù)組事實上就是在木有任何物品可以放入背包時的合法狀態(tài)。

26、假如要求背包恰好裝滿,那么此時僅有容量為0的背包可能被價值為0的nothing“恰好裝滿”,其它容量的背包均木有合法的解,屬于未定義的狀態(tài),它們的值就都應(yīng)當是-∞了。

27、假如背包并非必須被裝滿,那么任何容量的背包都有1個合法解“啥都不裝”,這個解的價值為0,因此初始時狀態(tài)的值也就全部為0了。

28、這個小技巧完全可以推廣到其它類型的背包問題,后面也就不再對進行狀態(tài)轉(zhuǎn)移之前的初始化進行講解。

29、小結(jié)01背包問題是最基本的背包問題,它包含了背包問題中設(shè)計狀態(tài)、方程的最基本思想,另外,別的類型的背包問題往往也可以轉(zhuǎn)換成01背包問題求解。

30、故一定要仔細體會上邊基本思路的得出方法,狀態(tài)轉(zhuǎn)移方程的意義,以及最后怎樣優(yōu)化的空間復(fù)雜度。

31、"。

本文分享完畢,希望對大家有所幫助。

標簽:

免責聲明:本文由用戶上傳,與本網(wǎng)站立場無關(guān)。財經(jīng)信息僅供讀者參考,并不構(gòu)成投資建議。投資者據(jù)此操作,風險自擔。 如有侵權(quán)請聯(lián)系刪除!

最新文章