题目大意:有一些食物,存在一些限制……计算携带N件物品的方案数
题解:求出每种食物的一般生成函数,把闭形式相乘
用一下广义二项式定理或麦克劳林展开求出第 n 项系数
详见popoqqq
我的收获:2333
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#define M 510
#define MOD 10007
using namespace std;
int n;
char s[M];
int main()
{
int i;
scanf("%s",s+1);
for(i=1;s[i];i++)
(n=(n<<1)+(n<<3)+(s[i]-'0'))%=MOD;
cout<<(n*(n+1)%MOD*(n+2)%MOD*1668%MOD)<<endl;
return 0;
}