传送门

生成函数模板题。


我们直接把每种食物的生成函数列出来:

承德汉堡:1+x2+x4+...=11−x21+x^2+x^4+...=\frac 1{1-x^2}1+x2+x4+...=1−x21​

可乐:1+x=1−x21−x1+x=\frac{1-x^2}{1-x}1+x=1−x1−x2​

鸡腿:1+x+x2=1−x31−x1+x+x^2=\frac{1-x^3}{1-x}1+x+x2=1−x1−x3​

蜜桃多:x+x3+x5+...=x(1+x2+x4+...)=x1−x2x+x^3+x^5+...=x(1+x^2+x^4+...)=\frac x{1-x^2}x+x3+x5+...=x(1+x2+x4+...)=1−x2x​

鸡块:1+x4+x8+x12+...=11−x41+x^4+x^8+x^{12}+...=\frac 1{1-x^4}1+x4+x8+x12+...=1−x41​

包子:1+x+x2+x3=1−x41−x1+x+x^2+x^3=\frac{1-x^4}{1-x}1+x+x2+x3=1−x1−x4​

土豆片炒肉:1+x=1−x21−x1+x=\frac{1-x^2}{1-x}1+x=1−x1−x2​

面 包:1+x3+x6+x9+...=11−x31+x^3+x^6+x^9+...=\frac 1{1-x^3}1+x3+x6+x9+...=1−x31​

把所有的乘起来:f(x)=x(1−x)4=x(1+x+x2+...)4f(x)=\frac x{(1-x)^4}=x(1+x+x^2+...)^4f(x)=(1−x)4x​=x(1+x+x2+...)4

我们要求xnx^nxn的系数。

也就是求g(x)=(1+x+x2+...)4g(x)=(1+x+x^2+...)^4g(x)=(1+x+x2+...)4的xn−1x^{n-1}xn−1的系数。

相当于求将n−1n-1n−1拆成四个自然数的方案数,这个组合数学搞定Ans=Cn+23Ans=C_{n+2}^3Ans=Cn+23​

代码:

#include<bits/stdc++.h>
using namespace std;
const int mod=10007;
int n=0;
int main(){
	char ch=getchar();
	while(!isdigit(ch))ch=getchar();
	while(isdigit(ch))n=((n<<3)+(n<<1)+(ch^48))%mod,ch=getchar();
	cout<<n*(n+1)%mod*(n+2)%mod*1668%mod;
	return 0;
}

2018.12.30 bzoj3028: 食物(生成函数)的更多相关文章

  1. 2018.12.30【NOIP提高组】模拟赛C组总结

    2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c ...

  2. 2018.12.30 bzoj3027: [Ceoi2004]Sweet(生成函数+搜索)

    传送门 生成函数好题. 题意简述:给出n个盒子,第iii个盒子里有mim_imi​颗相同的糖(但不同盒子中的糖不相同),问有多少种选法可以从各盒子中选出数量在[a,b][a,b][a,b]之间的糖果. ...

  3. 2018.12.30 poj3734 Blocks(生成函数)

    传送门 生成函数入门题. 按照题意构造函数: 对于限定必须是出现偶数次的颜色:1+x22!+x44!+...=ex+e−x21+\frac {x^2}{2!}+\frac {x^4}{4!}+...= ...

  4. BZOJ3028食物——生成函数+泰勒展开

    题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些 ...

  5. BZOJ3028: 食物(生成函数)

    题意 链接 Sol 生成函数入门题. 对每个物品分别列一下,化到最后是\(\frac{x}{(1-x)^4}\) 根据广义二项式定理,最后答案是\(C_{(N - 1) + 4 - 1}^{4-1} ...

  6. 2018.12.30 洛谷P4238 【模板】多项式求逆

    传送门 多项式求逆模板题. 简单讲讲? 多项式求逆 定义: 对于一个多项式A(x)A(x)A(x),如果存在一个多项式B(x)B(x)B(x),满足B(x)B(x)B(x)的次数小于等于A(x)A(x ...

  7. 2018.12.30 Intellij IDEA设置main方法自动补全

    Eclipse与 Intellij IDEA设置方法自动补全 1.首先,点击File-->Settings-->Editor-->Live Templates 设置你想输出的模板 右 ...

  8. 2018.12.1 Test

    目录 2018.12.1 Test A 串string(思路) B 变量variable(最小割ISAP) C 取石子stone(思路 博弈) 考试代码 B C 2018.12.1 Test 题目为2 ...

  9. 2018.12.08【NOIP提高组】模拟B组总结(未完成)

    2018.12.08[NOIP提高组]模拟B组总结 diyiti 保留道路 进化序列 B diyiti Description 给定n 根直的木棍,要从中选出6 根木棍,满足:能用这6 根木棍拼出一个 ...

随机推荐

  1. @ResponseBody使用须知

    -------------------siwuxie095 @ResponseBody 使用须知 使用 @ResponseBody 注解映射响应体 @ResponseBody 注解可被应用于方法上,标 ...

  2. illegal multibyte sequence python3

    错误信息如下: page_data = m.decode('gbk') UnicodeDecodeError: 'gbk' codec can't decode byte 0xa7 in positi ...

  3. WEB框架之Ajax

    一 Ajax简介 1 Ajax的介绍 AJAX翻译成中文就是"异步Javascript和XML".即使用JavaScript语言与服务器进行异步交互,传输的数据为XML(当然,传输 ...

  4. bootstrap collapse 无法收回

    $(function () { //修复collapse不能正常折叠的问题 $(".collapsed").click(function () { var itemHref = $ ...

  5. join 子句(C# 参考)

    参考:https://msdn.microsoft.com/zh-cn/library/vstudio/bb311040%28v=vs.110%29.aspx 使用 join 子句可以将来自不同源序列 ...

  6. Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程

    Java并发-UncaughtExceptionHandler捕获线程异常信息并重新启动线程 一.捕获异常并重新启用线程 public class Testun { public static voi ...

  7. git 分支的创建和切换

    每次提交,GIT 都会将他们串成一个时间线,截止到目前,只有一个时间线,GIT里叫这个分支为主分支,叫master,HEAD指向master,master指向提交,HEAD指向当前的分支. 一开始的时 ...

  8. 3A - Holding Bin-Laden Captive!

    We all know that Bin-Laden is a notorious terrorist, and he has disappeared for a long time. But rec ...

  9. sublime 注释模版插件DocBlockr的使用

    一.gihub地址 https://github.com/spadgos/sublime-jsdocs/ 其中有使用的教程可以参考 二.配置示例 安装教程此处略,请自行查找教程 jsdocs_extr ...

  10. BPF+XDP比较全的资料都在这里

    Dive into BPF: a list of reading material Sep 1, 2016 • Quentin Monnet◀Table of contents What is BPF ...