“格雷碼”是一個(gè)長度為的序列,滿足:
(a)每個(gè)元素都是長度為n比特的串
(b)序列中無相同元素
(c)連續(xù)的兩個(gè)元素恰好只有1個(gè)比特不同
例如:n=2時(shí),格雷碼為{00,01,11,10}。
Gray碼是一種編碼,這種編碼可以避免在讀取時(shí),因各數(shù)據(jù)位時(shí)序上的差異造成的誤讀。格雷碼在工程上有廣泛應(yīng)用。但格雷碼不便于運(yùn)算,請你設(shè)計(jì)一種構(gòu)造方法,輸入長度序列n,輸出格雷碼(你只要做出一種構(gòu)造方案即可,格雷碼并不唯一)。
有這樣一類特殊0-1背包問題:可選物品重量越輕的物品價(jià)值越高。
n=6,c=20,P=(4,8,15,1,6,3),W=(5,3,2,10,4,8)。
其中n為物品個(gè)數(shù),c為背包載重量,P表示物品的價(jià)值,W表示物品的重量。請問對于此0-1背包問題,應(yīng)如何選擇放進(jìn)去的物品,才能使到放進(jìn)背包的物品總價(jià)值最大,能獲得的最大總價(jià)值多少?