3028: 食物

Time Limit: 3 Sec  Memory Limit: 128 MB
Submit: 569  Solved: 382

Description

明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!
我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西。理所当然的,你当然要帮他计算携带N件物品的方案数。
他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等
当然,他又有一些稀奇古怪的限制:
每种食物的限制如下:
       承德汉堡:偶数个
       可乐:0个或1个
            鸡腿:0个,1个或2个
            蜜桃多:奇数个
            鸡块:4的倍数个
            包子:0个,1个,2个或3个
       土豆片炒肉:不超过一个。
            面包:3的倍数个
注意,这里我们懒得考虑明明对于带的食物该怎么搭配着吃,也认为每种食物都是以‘个’为单位(反正是幻想嘛),只要总数加起来是N就算一种方案。因此,对于给出的N,你需要计算出方案数,并对10007取模。

Input

输入样例1
  1
输出样例1
  1
输入样例2
  5
输出样例2
  35
 数据范围
   对于40%的数据,1<=N<=100000;
   对于所有数据,1<=n<=10^500;

Output

Sample Input

Sample Output

HINT

Source

 
【分析】
  这题目测是可以乱搞的?
  然后还是生成函数比较符合一般性啦。
 $(1+x^2+x^4+...)*(1+x)*(1+x+x^2)*(x+x^3+x^5+...)*(1+x^4+x^8+...)*(1+x+x^2+x^3)*(1+x)*(1+x^3+x^6+...)$
  然后等比数列求和 ($x^{inf}=0$)

  $=\dfrac{1−x^2}{1−x}*\dfrac{1−x^2}{1−x}*\dfrac{1−x^3}{1−x}*\dfrac{1−x^4}{1−x}*\dfrac{1}{1−x^2}*\dfrac{x}{1−x^2}*\dfrac{1}{1−x^4}*\dfrac{1}{1−x^3} $
$=\dfrac{x}{(1−x)^{4}}$

  【打得有点辛苦

  然后$G(x)=\dfrac{1}{(1-x)^m}=(1+x+x^2+x^3+...)^m$的x^n的系数是,把n分成m分可空的。即$C_{n+m-1}^{m-1}$

  然后乘一个x,就是第n-1项的系数即为答案,即$C_{n-1+4-1}^{4-1}=C_{n+2}^{3}=\dfrac{n*(n+1)*(n+2)}{6}$

  %%%http://blog.csdn.net/clove_unique/article/details/70748541

  【生成函数做这道题感觉很优越啊。。

 #include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define Mod 10007
#define LL long long char s[]; int main()
{
scanf("%s",s);
int l=strlen(s),n=;
for(int i=;i<l;i++)
{
n=n*+s[i]-'';
n%=Mod;
}
n=1LL*n*(n+)*(n+)/%Mod;
printf("%d\n",n);
return ;
}

2017-04-25 22:12:06

【BZOJ 3028】 3028: 食物 (生成函数)的更多相关文章

  1. BZOJ 3028: 食物 [生成函数 隔板法 | 广义二项式定理]

    3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 497  Solved: 331[Submit][Status][Discuss] De ...

  2. BZOJ 3028 食物 (生成函数+数学题)

    题面:BZOJ传送门 题目让我们求这些物品在合法范围内任意组合,一共组合出$n$个物品的方案数 考虑把每种食物都用生成函数表示出来,然后用多项式乘法把它们乘起来,第$n$项的系数就是方案数 汉堡:$1 ...

  3. bzoj 3028 食物——生成函数

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 把式子写出来,化一化,变成 x / ((1-x)^4) ,变成几个 sigma 相乘的 ...

  4. bzoj 3028 食物 —— 生成函数

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 式子很好推,详细可以看这篇博客:https://blog.csdn.net/wu_to ...

  5. BZOJ 3028 食物 生成函数

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

  6. BZOJ 3028 食物 ——生成函数

    把所有东西的生成函数搞出来. 发现结果是x*(1-x)^(-4) 然后把(1-x)^(-4)求逆,得到(1+x+x^2+...)^4 然后考虑次数为n的项前的系数,就相当于选任意四个非负整数构成n的方 ...

  7. bzoj 3028: 食物 生成函数_麦克劳林展开

    不管怎么求似乎都不太好求,我们试试生成函数.这个东西好神奇.生成函数的精华是两个生成函数相乘,对应 $x^{i}$ 前的系数表示取 $i$ 个时的方案数. 有时候,我们会将函数按等比数列求和公式进行压 ...

  8. 【BZOJ】3028: 食物

    http://www.lydsy.com/JudgeOnline/problem.php?id=3028 题意: 每种食物的限制如下:汉堡:偶数个:可乐:0个或1个鸡腿:0个,1个或2个蜜桃:奇数个鸡 ...

  9. 【bzoj3028】 食物 生成函数+隔板法

    题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 这题的推导很妙啊,裸的推母函数的题. 我们首先构造出每种食物的母函数: 汉堡:$ ...

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

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

随机推荐

  1. 读书笔记:《思考的乐趣:Matrix67数学笔记》第4章 统计数据的陷阱

    <思考的乐趣:Matrix67数学笔记>第4章讲了几个统计学上的陷阱,由于现在流行的大数据与统计学很有渊源,所以认真读了这一章,在<大数据时代>中指出只考虑相关性就够了,而不考 ...

  2. (64位)本体学习程序(ontoEnrich)系统使用说明文档

    系统运行:文件夹system下,可执行文件ontoEnrichment 概念学习 --------------------------------------------------------1.简 ...

  3. Angular 下的 directive (part 1)

    directive  指令 Directive components  指令部分   使用指令自动引导一个AngularJS应用.ngApp指令指定应用程序的根元素,通常是放在页面的根元素如: < ...

  4. Angular 下的 function

    angular.lowercas 将指定的字符串转换为小写的 Usage(使用方法) angular.lowercase(string);   Arguments Param Type Details ...

  5. struts与ognl结合【重要】

    -----------------------------ognl表达式------------------------ OGNL:对象视图导航语言.  ${user.addr.name} 这种写法就 ...

  6. 记一次ThreadPoolExecutor面试

    ThreadPoolExecutor点滴 线程池应该也是面试绕不开的一个点,平时大家也没少用,但其实也有一些小Tips还是值得记录一下. Constructor public ThreadPoolEx ...

  7. flask基础之LocalProxy代理对象(八)

    前言 flask框架自带的代理对象有四个,分别是request,session,g和current_app,各自的含义我们在前面已经详细分析过.使用代理而不是显式的对象的主要目的在于这四个对象使用太过 ...

  8. vim命令学习

    文本编辑器vim vim常用操作 vim是一个强大的全屏幕文本编辑器,是Linux上最常用的文本编辑器,它的作用是建立,编辑,显示文本文件. vim没有菜单,只有命令. 输入a或i或o进入编辑命令,下 ...

  9. elasticsearch安装servicewrapper插件

    1)下载elasticsearch-servicewrappergit clone https://github.com/elasticsearch/elasticsearch-servicewrap ...

  10. springboot自定义SpringApplication启动类

    如果默认的SpringApplication不符合你的口味,你可以创建一个本地的实例并自定义它.例如,关闭banner你可以这样写: public static void main(String[] ...