NOIP1999 郵票面值設計

2021-07-26 08:57:23 字數 856 閱讀 1774

時間限制: 1 sec  

記憶體限制: 64 mb

提交: 131  

解決: 63 [

提交][

狀態][

我的提交]

給定乙個信封,最多隻允許貼上n張郵票,計算在給定k(n+k≤40)種郵票的情況下(假定所有的郵票數量都足夠),如何設計郵票的面值,能得到最大值max,使在1~max之間的每乙個郵資值都能得到。

第1行:2個整數n k

第一行從小到大寫出所用郵票面值,

第二行寫"max="max

copy (如果複製到控制台無換行,可以先貼上到文字編輯器,再複製)

3 2
1 3

max=7

n=3,k=2,如果面值分別為1分、4分,則在1分~6分之間的每乙個郵資值都能得到(當然還有8分、9分和12分);如果面值分別為1分、3分,則在1分~7分之間的每乙個郵資值都能得到。可以驗證當n=3,k=2時,7分就是可以得到的連續的郵資最大值,所以max=7,面值分別為1分、3分。

#include#include#include#include#include#includeusing namespace std;

int n, k, ans;

int a[42], ansp[42], f[100000];

int dp_find(int x)

return i - 1;

}void dfs(int x, int maxlast)

return ;

} for(int i = a[x - 1] + 1; i <= maxlast + 1; i++)

}int main()

NOIP1999郵票面值設計

noip1999郵票面值設計 題目描述 description 給定乙個信封,最多隻允許貼上n張郵票,計算在給定k n k 40 種郵票的情況下 假定所有的郵票數量都足夠 如何設計郵票的面值,能得到最大值max,使在1 max之間的每乙個郵資值都能得到。例如,n 3,k 2,如果面值分別為1分 4分...

郵票面值設計(NOIP1999)

傳送門 怎麼講呢?挺有意思的 是一道dp和搜尋的結合。我們把數字從小到大依次列舉。用dp去計算當前的所得最大值。f i 表示湊成i面值所需的最小郵票數量。那麼小於等於n的,都是可以湊出來的。那麼最大值也就好求了。至於dp的上界,用幾個數的和就能解決。如下 include include includ...

NOIP1999 郵票面值設計

給定乙個信封,最多隻允許貼上n張郵票,計算在給定k種郵票的情況下 假定所有的郵票數量都足夠 如何設計郵票的面值,能得到最大max,使得1 max之間的每乙個郵資值都能得到。例如,n 3,k 2,如果面值分別為1分 4分,則在l分 6分之間的每乙個郵資值都能得到 當然還有8分 9分和12分 如果面值分...