洛谷 P1025 數的劃分

2021-07-26 07:53:42 字數 1078 閱讀 4051

題目描述

將整數n分成k份,且每份不能為空,任意兩個方案不相同(不考慮順序)。

例如:n=7,k=3,下面三種分法被認為是相同的。

1,1,5; 1,5,1; 5,1,1;

問有多少種不同的分法。

輸入輸出格式

輸入格式:

n,k (6

<

n<=200,2<=k<=6)

輸出格式:

乙個整數,即不同的分法。

輸入輸出樣例

輸入樣例#1:

7 3

輸出樣例#1:

4 說明

四種分法為:1,1,5;1,2,4;1,3,3;2,2,3;

分析:題目要求k個盒子裡必須都有球,那麼就先在所有的盒子裡都放一顆球,於是還剩下n-k顆。這n-k顆可以都放在乙個盒子裡,也可以放在兩個盒子裡,也可以放在三個盒子裡……最多可以放在min(n-k,k)個盒子裡,於是得到遞推式dp[i,j]:=∑dp[i-j,i1] (i1∈(1,min(i-j,k)));

**:

var

f:array[0..210,0..210] of longint;

n,k,i,j,i1,j1:longint;

function

min(a,b:longint):longint;

begin

if athen

exit(a);

exit(b);

end;

begin

readln(n,k);

fillchar(f,sizeof(f),0);

for i:=0

to n do

begin

f[i,i]:=1;

f[i,1]:=1;

end;

for i:=3

to n do

for j:=2

to min(i-1,k) do

for i1:=1

to min(j,k) do

f[i,j]:=f[i,j]+f[i-j,i1];

writeln(f[n,k]);

end.

洛谷P1025 數的劃分

將整數n分成k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 n,k 6 輸出格式 乙個整數,即不同的分法。輸入樣例 1 7 3 輸出樣例 1 4 四種分法為 1,1,5 1,2...

洛谷P1025 數的劃分

將整數n分成k份,且每份不能為空,任意兩個方案不相同 不考慮順序 例如 n 7,k 3,下面三種分法被認為是相同的。1,1,5 1,5,1 5,1,1 問有多少種不同的分法。輸入格式 n,k 6 輸出格式 乙個整數,即不同的分法。輸入樣例 1 複製7 3 輸出樣例 1 複製4 四種分法為 1,1,5...

洛谷p1025 數的劃分

數的劃分 傳送門 演算法的話,dfs 剪枝 據說是01年之前的noip提高組 思路 這道題是求把n無序的劃分成k份的方案數,最直接的搜尋方法是依次列舉x1,x2 xk的值,然後判斷,顯然這麼搜尋的話,很容易就tle了qwq。所以我們需要剪枝,這道題用到的主要是可行性剪枝和上下界剪枝 因為本題不考慮分...