動態規劃 (不可以重複取)最小郵票數

2021-09-22 22:39:48 字數 724 閱讀 7783

時間限制:1秒 空間限制:65536k 熱度指數:8840

有若干張郵票,要求從中選取最少的郵票張數湊成乙個給定的總值。     如,有1分,3分,3分,3分,4分五張郵票,要求湊成10分,則使用3張郵票:3分、3分、4分即可。

有多組資料,對於每組資料,首先是要求湊成的郵票總值m,m<100。然後是乙個數n,n〈20,表示有n張郵票。接下來是n個正整數,分別表示這n張郵票的面值,且以公升序排列。
對於每組資料,能夠湊成總值m的最少郵票張數。若無解,輸出0。
示例1

10 5 1 3 3 3 4

狀態轉移關係:

if(j < a[i]) dp[i][j] = dp[i-1][j];

else dp[i][j] = min(dp[i-1][j], dp[i-1][j-a[i]] + 1);

注意不是

else dp[i][j] = min(dp[i-1][j], dp[i][j-a[i]] + 1); 

因為不可以重複取

#includeusing namespace std;

int main()

}if(dp[n-1][target] == int_max-1)

cout << dp[n-1][target] << endl;

}return 0;

}

CURL不可以讀寫檔案

最近在學es elastic search 參考裡面翻譯的官方權威指南 後面發現官網已經推出了中文版文件了 裡面有的例子把訪問es的命令做了簡化如下 curl xget localhost 9200 count?pretty d 簡化為 get count 一開始我以為是es報的錯,進es的日誌,發...

保護巨集不可以解決變數重複定義的問題

今天繼續寫實驗班的程式,出了問題,這就引出了乙個很重要的問題。之前不是很懂的。今天終於碰到了。情景 你建了乙個工程,包含兩個 cpp 檔案,乙個標頭檔案 乙個錯誤的認識是保護巨集可以防止變數被重複定義。是這樣嗎?a.cpp include include zmx.h using namespace ...

觸發器不可以亂用

突然發現有乙個語句 update dnt users set adminid 0 where groupid 7 執行得特別慢,更新的資料是四萬多條記錄,表裡也是有四萬多條記錄。在檢視後發現庫里有乙個觸發器 if exists select name from sysobjects where na...