描述
雙十一就這樣轟轟烈烈的來了,對於乙個買東西只靠網購的資深宅男小灰灰來說,這的確是個令人興奮的事情。
而現在的小灰灰卻是痛並快樂著,因為本就乾癟的錢包實在擠不出多少money用來購物了,誰叫他把錢都用來買紙了呢....話說錢到用時方恨少,小灰灰處在深深的憂慮中,不知道怎樣才能用剩下的錢買到最有價值的東西,各位小夥伴你們能把他搞定這件事嗎
輸入第一行乙個整數t表示有t組測試資料(t<=50)。
接下來的t組測試資料:
第一行包含兩個整數n和m,n表示小灰灰有多少錢,m表示有多少件物品(1<=m<=100)。
再二行包含m個整數,表示對應每個物品的**。
第三行包含m個整數,表示對應每個物品的價值。
0輸出請幫助小灰灰使用僅有的錢購買物品,並使物品的總價值最大。輸出最大值。
輸入樣例 1
410 5
2 3 7 7 3
4 3 5 6 4
10 8
5 6 4 2 3 7 1 8
5 3 5 3 5 7 5 7
20 7
10 15 4 5 6 8 5
15 14 9 2 2 6 7
10 3
7 4 5
16 7 10
輸出樣例 1
case #1: 11
case #2: 18
case #3: 31
case #4: 17
這題呢有兩種解法,第乙個是揹包第二個是動態規劃,這裡選擇的是動態規劃,同兩個陣列a和b去儲存**,然後使用的動態規劃的遞推去找到符合的最大值。
#include #include using namespace std;
int dp[300100];
int main()
printf("case #%d: %d\n",k,dp[n]);}}
return 0;
}
讓人頭疼的遞迴演算法
遞迴,一般指函式的定義中使用函式自身的方法。也就是說,遞迴演算法是一種直接或者間接呼叫自身函式方法的演算法。實質上是把問題分解成規模縮小的同類問題的子問題,然後遞迴呼叫方法來表示問題的解。基本原理 1.每一級的函式呼叫都有自己的變數。2.每一次函式呼叫都會有一次返回。3.遞迴函式中位於遞迴呼叫前的語...
讓人頭疼的稀疏陣列
當乙個陣列中大部分元素為0,或者為同乙個值的陣列時,可以使用稀疏陣列來儲存該陣列.package main import fmt type valnode struct func main fmt.println 3.轉成稀疏陣列。想 演算法 思路 1 遍歷 chessmap,如果我們發現有乙個元素...
談談那些讓人頭疼的瀏覽器相容問題
瀏覽器相容性問題,是因為不同瀏覽器的核心不同,導致各個瀏覽器對網頁的解析存在一定的差異,對同一段 有不同的解析,造成頁面顯示效果不統一的情況。在大多數情況下,我們的需求是,無論使用者用什麼瀏覽器來檢視我們的 或者登陸我們的系統,都應該是統一的顯示效果。所以瀏覽器的相容性問題是前端開發人員經常會碰到和...