洛谷 P1287 盒子與球

2022-04-06 06:55:29 字數 703 閱讀 7551

現有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...