Bzoj3028食物

  1. Description

    明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!

    我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西。理所当然的,你当然要帮他计算携带N件物品的方案数。

    他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等

    当然,他又有一些稀奇古怪的限制:

    每种食物的限制如下:

    承德汉堡:偶数个

    可乐:0个或1个

    鸡腿:0个,1个或2个

    蜜桃多:奇数个

    鸡块:4的倍数个

    包子:0个,1个,2个或3个

    土豆片炒肉:不超过一个。

    面包:3的倍数个

    注意,这里我们懒得考虑明明对于带的食物该怎么搭配着吃,也认为每种食物都是以‘个’为单位(反正是幻想嘛),只要总数加起来是N就算一种方案。因此,对于给出的N,你需要计算出方案数,并对10007取模。

    数据范围 : n<=10^500

    ----------------------------------------------------------此后一千里---------------------------------------------------------------

    推一发生成函数后乘起来是这个样子 x / (1 - x) ^ 4

    然后不会了,并不知道封闭形式怎么求系数。。。。。

    然后膜了一发大爷的题解,

    大概是系数就是泰勒展开后 xn 前的系数,

    所以先求一发n阶导数,然后带入泰勒展开发现是C(n-2,3)

    然后就没有然后了。。。。

    出题人多大脑洞。。。。

    upd : 其实考虑封闭形式的话,头上的x就是函数右移一位,所以我们实际去求4种物品无限个选出n-1种的方案数,就是插板法sb题了。。。。

    代码 :

    #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;
    }  

时间: 2024-08-08 10:56:46

Bzoj3028食物的相关文章

BZOJ3028 食物

Orz PoPoQQQ 母函数总算是搞定了...但是下面的Taylor展开还不会... 1 /************************************************************** 2 Problem: 3028 3 User: rausen 4 Language: C++ 5 Result: Accepted 6 Time:0 ms 7 Memory:804 kb 8 ********************************************

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

题目传送门:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 这题的推导很妙啊,裸的推母函数的题. 我们首先构造出每种食物的母函数: 汉堡:$1+x^2+x^4+……=\frac{1}{1-x^2}$ 可乐:$1+x=\frac{1-x^2}{1-x}$ 鸡腿:$1+x+x^2=\frac{1-x^3}{1-x}$ 蜜桃:$x+x^3+x^5+......=\frac{x}{1-x^2}$ 鸡块:$1+x^4+x^8+......=\fr

【BZOJ3028】食物 母函数

不会,只能在题解上看到结论再来写. http://blog.csdn.net/popoqqq/article/details/42805975 不妨看这篇. 代码:(就是求C(n+2,3)) <span style="font-family:KaiTi_GB2312;font-size:18px;">#include <cstdio> #include <cstring> #include <iostream> #include <

【BZOJ 3028】 3028: 食物 (生成函数)

3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 569  Solved: 382 Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 当然,他又有一些稀奇古怪的限制: 每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1

减少浪费 意推食物分享网站

(中央社记者郑杰忆罗马5日专电)意大利(亦译:意大利)和其他富裕国家一样,每天丢弃不少食物,为了减少浪费,西西里岛的一群年轻人发起食物分享网站,民众可以上网登记多余的食物,提供给邻近有需要的人. 经济危机让不少意大利民众荷包缩水,有人甚至缺钱购买足够.营养的食物,同时却有不少人丢弃大量的食物. 西西里岛几名有网路商务经验的年轻人在今年2月设置了“食物分享”网站,依照地点和食物种类媒合提供多余食物和需要食物的民众,至今已经有上千人注册参与. 由于担心食品安全问题,只交换包装完整的食物,像是咖啡粉.

bzoj 3028: 食物 -- 母函数

3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MB Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 当然,他又有一些稀奇古怪的限制: 每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1个 鸡腿:0个,1个或2个 蜜桃多:奇数个 鸡块

食物(bzoj 3280)

Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 当然,他又有一些稀奇古怪的限制: 每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1个 鸡腿:0个,1个或2个 蜜桃多:奇数个 鸡块:4的倍数个 包子:0个,1个,2个或3个 土豆片炒肉:不超过一个. 面包:3的倍数个 注意,这里

你需要不同类型的朋友,就像你需要不同种类的食物一样

就像一个乐队或是一群超级英雄需要具有不同天赋和能力的成员,一个朋友圈也应这样.拥有差异性并且能够从各种来源中寻求支持很重要,他们也可以帮助我们拥有更广阔的视野. 你需要不同类型的朋友,就像你需要不同种类的食物一样.不同类型的朋友有不同的作用,他们以不同的方式来丰富我们的生活.虽然很多人都很幸运地拥有真正的朋友,但下面这几种类型的朋友确实值得拥有. 1.比你更酷的朋友 这个世界瞬息万变,总有一些人比我们更了解什么是流行,我们喜欢围绕着这些人,因为他们是流行的指向标.这些人开阔了你的视野,让你认识到

食物分配问题

今天上午上了一天的课,中文回来把昨晚一个学姐给的问题解决了,不应该叫解决,叫有了点思路,因为不知道为什么程序一直重复输出,下午7,8节课又去上了汇编实验,感觉就是和数字电路电路没什么去了了(又是搞硬件),晚上,花了1个半小时,把该问题实实在在的解决了. 问题如下: //一堆食物,第一个人先拿走一个,在拿走剩下的九分之一,第二个先拿走两个,再拿走剩下的九分之一 //如此重复下去,直到最后一人拿走剩下的. 代码如下: 1 using System; 2 using System.Collection