总结一下广义二项式定理。
食物
明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西。理所当然的,你当然要帮他计算携带N件物品的方案数。他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等当然,他又有一些稀奇古怪的限制,每种食物的限制如下:
- 承德汉堡:偶数个
- 可乐:0个或1个
- 鸡腿:0个,1个或2个
- 蜜桃多:奇数个
- 鸡块:4的倍数个
- 包子:0个,1个,2个或3个
- 土豆片炒肉:不超过一个。
- 面包:3的倍数个
注意,这里我们懒得考虑明明对于带的食物该怎么搭配着吃,也认为每种食物都是以‘个’为单位(反正是幻想嘛),只要总数加起来是N就算一种方案。因此,对于给出的N,你需要计算出方案数,并对10007取模。
co int mod=10007;
int main(){
int n=0;char c=getchar();
while(!isdigit(c)) c=getchar();
for(;isdigit(c);c=getchar()) n=(n*10+c-'0')%mod;
n=(n+2)%mod;
printf("%lld\n",(LL)n*(n-1)*(n-2)/6%mod);
return 0;
}
一个人的高三楼
给你一个长度为n的数列ai,求它的k次前缀和模998244353。(就是做k次前缀和后的数列)
n≤105,k≤260。