郵票面值設計(NOIP1999)

2021-08-21 23:49:42 字數 665 閱讀 2522

傳送門

怎麼講呢?

挺有意思的

是一道dp和搜尋的結合。

我們把數字從小到大依次列舉。

用dp去計算當前的所得最大值。

f[i]表示湊成i面值所需的最小郵票數量。

那麼小於等於n的,都是可以湊出來的。

那麼最大值也就好求了。

至於dp的上界,用幾個數的和就能解決。

**如下:

#include

#include

#include

using

namespace

std;

int n,k,res,ans[105],curans[105],f[2005];

int solve(int dep,int sum)

}for(int i=1;i<=n*sum;i++)

} return n*sum;

}void dfs(int dep,int last,int maxn,int sum)

}return;

}for(int i=last+1;i<=maxn+1;i++)

}int main()

printf("\nmax=%d\n",res);

return

0;}

NOIP1999郵票面值設計

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

NOIP1999 郵票面值設計

時間限制 1 sec 記憶體限制 64 mb 提交 131 解決 63 提交 狀態 我的提交 給定乙個信封,最多隻允許貼上n張郵票,計算在給定k n k 40 種郵票的情況下 假定所有的郵票數量都足夠 如何設計郵票的面值,能得到最大值max,使在1 max之間的每乙個郵資值都能得到。第1行 2個整數...

NOIP1999 郵票面值設計

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