分球
【題目描述】有n個標號的球分到m個無差別的盒子裡,每個盒子至少有乙個球,問方案數?
【輸入檔案】
每部分一行兩個數n,m。
【輸出檔案】
每組資料一行乙個數,表示方案數。
【樣例輸入】
4 2【樣例輸出】
7【樣例解釋】
n=4,m=2
1,2 3 4
2,1 3 4
3,1 2 4
4,1 2 3
1 2,3 4
1 3,2 4
1 4,2 3
【資料規模】
對於20%的資料,滿足1=很簡單的dp,i個球放在j個盒子裡的情況數等於i-1個球放在j個盒子裡的情況數×j加上i-1個球放在j-1個盒子中的情況數,相當於第i個球可以放在j個盒子中任意乙個,或者第i個球放在第j個新的盒子裡。狀態轉移方程f[i][j]=f[i-1][j]*j+f[i-1][j-1]。注意初始化f[0][0]=1,其餘都是0,**如下
#include #include #include using namespace std;
int f[101][101];
int main()
{ int n,m;
int i,j;
cin >> n >> m;
memset(f,0,sizeof(f));
f[0][0]=1;
for(i=1;i<=n;i++)
{ for(j=1;j<=m;j++)
{ if (i
回文串問題(動態規劃DP C )
乙個字串,如果從左到右讀和從右到左讀是完全一樣的,比如 aba 我們稱其為回文串。現在給你乙個字串,可在任意位置新增字元,求最少新增幾個字元,才能使其變成乙個回文串。任意給定的乙個字串,其長度不超過1000.能變成回文串所需新增的最少字元數。在這裡給出一組輸入。例如 ab3bdabb在這裡給出相應的...
計數問題 數字統計DP(c )
acwing 338.計數問題 給定兩個整數 a 和 b,求 a 和 b 之間的所有數字中0 9的出現次數。例如,a 1024,b 1032,則 a 和 b 之間共有9個數如下 1024 1025 1026 1027 1028 1029 1030 1031 1032 其中 0 出現10次,1 出現1...
魔術球問題
列舉放的球,先假設新建柱子,拆成兩個點,第乙個點連s,表示後面還可以放 第二個連t表示放到其他柱子上 再列舉放過的數和它是否組成完全平方數,列舉的數的第乙個點向它的第二個點連邊,表示這個球可以放到其他球上,容量都為一 每次跑最大流出來的表示會消掉的柱子個數,如果此時球 消去的比n大則break輸出答...