現有r個互不相同的盒子和n個互不相同的球,要將這n個球放入r個盒子中,且不允許有空盒子。問有多少種方法?
例如:有2個不同的盒子(分別編為1號和2號)和3個不同的球(分別編為1、2、3號),則有6種不同的方法:
輸入格式:
兩個整數,n和r,中間用空格分隔。(0≤n, r≤10)
輸出格式:
僅一行,乙個整數(保證在長整型範圍內)。表示n個球放入r個盒子的方法。
輸入樣例#1: 複製
3 2輸出樣例#1: 複製
6思路:動規。
f[i][j]=f[i-1][j-1]+f[i-1][j]*j;
把第i個球單獨放乙個盒子,那方案數為把i-1個球放在j-1個盒子裡的方案數。
把第i個球隨意放,第i個球有j種放置方法,再乘上i-1放在j個盒子裡的方案數。
因為盒子有區分,最後在成乙個階乘。
#include#include#include
#include
using
namespace
std;
intn,r;
long
long jc=1
;int f[11][11]=;
intmain()
洛谷P1287 盒子與球 數學
洛谷p1287 盒子與球 數學 第二類斯特林數 將 n 個 互不相同的球 放入 k 個互不相同的盒子中,且不能為空,求方案數 如果盒子相同的話用第二類斯特林數來做 s n k 表示 將 n 個可區分的球 放進 k 個 不可區分的盒子中 的方案數 s n k s n 1 k 1 k s n 1 k s...
P1287 盒子與球
題目傳送門 我們考慮設 fi,jf fi,j 表示到第 i ii 個球放入 j jj 個盒子裡的方案數。考慮如何轉移,莫過於兩種情況 放入原有的盒子,重新開乙個盒子。對於第一種情況 fi,j fi 1,j j f f times j fi,j fi 1 j j 即在原有的箱子中選乙個 對於第二種情況...
P1287 盒子與球
miku 這是一道數學題,可以推式子 我推錯了 這是一道dp,完全沒想到它是。所以說我把我的錯誤式子縫縫補補,加上個dfs 過了。大體思想就是利用插板法求出每個盒子可以裝幾個球的方案,然後因為同乙個盒子內部的球是無序的,所以說用一點點排列的知識加上dfs的框架處理一下,然後就過了 include i...