**的「雙十一」購物節有各種**活動,比如「滿 200 元減 50 元」。假設你的購物車中有 n 個(n>100)想買的商品,希望從裡面選幾個,在湊夠滿減條件的前提下,讓選出來的商品**總和最大程度地接近滿減條件(200 元),這樣就可以極大限度地「薅羊毛」。
我們假設購物滿w元才能減。例如滿500減200,那w=500。購物車中商品的**int price表示。每次決定第i個物品要不要購買,當物品選完了或者總價夠w,停止選擇。比較選中物品**總和最低的一組選擇。這是乙個多階段決策最優化問題。可以先用回溯演算法解決。
public class shopping ;
private int w = 500;
private int minprice = integer.max_value;
private listselectitems;
private void f (int i,int pricesum,boolean shoppingstatus)
}if(j!=0)
}}
當然,這道題目還要乙個難點是要輸出選擇了哪些商品。當我們知道滿足要求的最低總價是minprice。也就是說states[n-1][minprice]=true。如果states[n-2][minprice]=true,則說明第n-1號物品是被放棄的,不購買的。如果states[n-2][minprice-price[n-1]]=true,說明是購買第n-1號商品的。繼續遞迴往回查詢。 Web前端 既可以輸入又可以選擇的input框
又是一周,以前總說碼農碼農現在才理解為什麼這個職業剛開始就是搬磚的了 廢話就到此為止 今天給大家說一下如何利用html5特性寫乙個既可以輸入又可以選擇的輸入框 其實在html5中,有這樣乙個屬性的input框 叫做 datalist 顧名思義就是利用已有的data為使用者提供選擇項 具體 如下 ps...
VB 的元件既可以擁有使用者介面
vb 的中心思想就是要便於程式設計師使用,無論是新手或者專家。vb使用了可以簡單建立應用程式的gui 系統,但是又可以開發相當複雜的程式。vb 的程式是一種基於窗體的視覺化元件安排的聯合,並且增加 來指定元件的屬性和方法。因為預設的屬性和方法已經有一部分定義在了元件內,所以程式設計師不用寫多少 就可...
氣泡排序既可以排字串也可以排字串
編寫乙個氣泡排序,既可以編寫字串也可以編寫數字。1 需要實現乙個函式指標,在排序的時候將函式的入口位址傳進來。void sort void base,int len,int width,int cmp const void const void 實現 的主邏輯 1 引數設定,乙個可以接收任何型別的指...