HDU 1436 排列組合(二)

2022-05-28 12:27:17 字數 617 閱讀 8220

題意:

有n個字母,每個字母的數量不定。用這n個字母組成乙個長為m的串,並且規定這個串中每個字母能出現的次數。求這樣的串的總數。

分析:之前處理好組合數c,然後d[i]表示字串長度為i的時候用所給字串構成的滿足條件的情況數,

遞推式:  d[s[i][k]+j] += d[j]*c[m-j][s[i][k]];

#include #include 

#include

using

namespace

std;

#define clr(x)memset(x,0,sizeof(x))

const

int maxn = 1001

;__int64 c[maxn][maxn],d[maxn],s[maxn][maxn];

void

cc(__int64 m)

}int

main()

clr(d);

for (i=1; i<=s[0][0]; i++)

for (i=1; i)}}

printf(

"%i64d\n

",d[m]);

}return0;

}

杭電1436 排列組合(二)

有n個字母,每個字母的數量不定。用這n個字母組成乙個長為m的串,並且規定這個串中每個字母能出現的次數。求這樣的串的總數。每組輸入資料的第一行有兩個數字n,m。接下來有n行,每行的第乙個數k表示對應字母可以出現的種數,接下來的k個數表示該字母可以在串 現的個數。其中0表示可以不出現。如測試資料,第乙個...

hdu 1716 排列2 排列組合

問題描述 ray又對數字的列產生了興趣 現有四張卡片,用這四張卡片能排列出很多不同的4位數,要求按從小到大的順序輸出這些4位數 input 每組資料佔一行,代表四張卡片上的數字 0 數字 9 如果四張卡片都是0,則輸入結束。output 對每組卡片按從小到大的順序輸出所有能由這四張卡片組成的4位數,...

hdu 2047 排列組合

problem description 今年的acm暑期集訓隊一共有18人,分為6支隊伍。其中有乙個叫做eof的隊伍,由04級的阿牛 xc以及05級的coy組成。在共同的集訓生活中,大家建立了深厚的友誼,阿牛準備做點什麼來紀念這段激情燃燒的歲月,想了一想,阿牛從家裡拿來了一塊上等的牛肉乾,準備在上面...