OJ 1308 讓人頭疼的「雙十一」

2021-10-23 10:10:08 字數 970 閱讀 8908

描述

雙十一就這樣轟轟烈烈的來了,對於乙個買東西只靠網購的資深宅男小灰灰來說,這的確是個令人興奮的事情。

而現在的小灰灰卻是痛並快樂著,因為本就乾癟的錢包實在擠不出多少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,如果我們發現有乙個元素...

談談那些讓人頭疼的瀏覽器相容問題

瀏覽器相容性問題,是因為不同瀏覽器的核心不同,導致各個瀏覽器對網頁的解析存在一定的差異,對同一段 有不同的解析,造成頁面顯示效果不統一的情況。在大多數情況下,我們的需求是,無論使用者用什麼瀏覽器來檢視我們的 或者登陸我們的系統,都應該是統一的顯示效果。所以瀏覽器的相容性問題是前端開發人員經常會碰到和...