题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些受欢迎的食物, 如:蜜桃多啦,鸡块啦,承德汉堡等等当然,他又有一些稀奇古怪的限制:每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1个 鸡腿:0个,1个或2个 蜜桃多:奇数个 鸡块:4的倍数个 包子:0个,1个,2个或3个 土豆片炒肉:不超过一个. 面包:3的倍数个 注意,这里我们懒得考虑明明对…
题意 链接 Sol 生成函数入门题. 对每个物品分别列一下,化到最后是\(\frac{x}{(1-x)^4}\) 根据广义二项式定理,最后答案是\(C_{(N - 1) + 4 - 1}^{4-1} = C_{n+2}^3\) N = int(input()) print(int((N + 1) * (N + 2) * N / 6) % 10007)…
首先 1+x+x^2+x^3+...+x^∞=1/(1-x) 对于题目中的几种食物写出生成函数 (对于a*x^b , a表示方案数 x表示食物,b表示该种食物的个数) f(1)=1+x^2+x^4+...+x^∞=1/(1-x^2) f(2)=1+x f(3)=1+x+x^2 f(4)=x+x^3+x^5+...+x^∞=x/(1-x^2) f(5)=1+x^4+x^8+...+x^∞=1/(1-x^4) f(6)=1+x+x^2+x^3 f(7)=1+x f(8)=1+x^3+x^6+...+…
显然构造出生成函数:则有f(x)=(1+x2+x4+……)·(1+x)·(1+x+x2)·(x+x3+x5+……)·(1+x4+x8+……)·(1+x+x2+x3)·(1+x)·(1+x3+x6+……). 化为有限,则有f(x)=x(1+x)2·(1+x+x2)·(1+x+x2+x3)/(1-x2)2·(1-x3)·(1-x4)=x·(1+x+x2)·(1+x)/(1-x)2·(1-x3)·(1-x2)=x·(1+x)/(1-x)3·(1-x2)=x/(1-x)4. 广义二项式定理暴算.则有f(…
传送门 生成函数模板题. 我们直接把每种食物的生成函数列出来: 承德汉堡: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…
题目传送门: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…
题面:BZOJ传送门 题目让我们求这些物品在合法范围内任意组合,一共组合出$n$个物品的方案数 考虑把每种食物都用生成函数表示出来,然后用多项式乘法把它们乘起来,第$n$项的系数就是方案数 汉堡:$1+x^{2}+x^{4}+x^{4}...=\frac{1}{1-x^{2}}$ 可乐:$1+x$ 鸡腿:$1+x+x^{2}$ 蜜桃:$x+x^{3}+x^{5}+x^{7}...=\frac{x}{1-x^{2}}$ 鸡块:$1+x^{4}+x^{8}+x^{12}..=\frac{1}{1-x…
http://www.lydsy.com/JudgeOnline/problem.php?id=3028 好吧,这是我第一道生成函数的题目. 先搞出各种食物的生成函数: 汉堡:$1+x^2+x^4+...=\frac{1}{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+...=\frac{1}{1-x^4}$ 包子:$1+x+x^2+x^3=\fr…
3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 497  Solved: 331[Submit][Status][Discuss] Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 当然,他又有一些稀奇古怪的限制: 每种…
总结一下广义二项式定理. 食物 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等当然,他又有一些稀奇古怪的限制,每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1个 鸡腿:0个,1个或2个 蜜桃多:奇数个 鸡块:4的倍数个 包子:0个,1个,2个或3个 土豆片炒肉:不超过一个. 面包:3的倍数个 注意,这里…
关于(1+x+x2+x3+x4+...)^k的第i项系数就是c(i+k−1,k−1)的证明对于第i项,假设为5x^5=x^0*x^5x^5=x^1*x^4x^5=x^2*x^3........也就是说从k个这样(1+x+x^2+x^3+x^4+...)的式子中,每个式子取出一项出来让其相乘,得到的x的指数为5.所取出来看项,设为y,y的取值范围从0....(也就是数字1,即x^0)....到无限大,则归于(y1+y2+y3+.....+yk)=i这个方程有多少组解其中0<=yi<=i通俗理解就…
Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些受欢迎的食物, 如:蜜桃多啦,鸡块啦,承德汉堡等等当然,他又有一些稀奇古怪的限制:每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1个 鸡腿:0个,1个或2个 蜜桃多:奇数个 鸡块:4的倍数个 包子:0个,1个,2个或3个 土豆片炒肉:不超过一个. 面包:3的倍数个 注意,这里我们…
把所有东西的生成函数搞出来. 发现结果是x*(1-x)^(-4) 然后把(1-x)^(-4)求逆,得到(1+x+x^2+...)^4 然后考虑次数为n的项前的系数,就相当于选任意四个非负整数构成n的方案数. 大概就是C(n+3,3) 前面还有一项是x,所以n--即可. 然后就A掉了. #include <cstdio> #include <cstring> #define ll long long const int inv=1668; const int md=10007; in…
不管怎么求似乎都不太好求,我们试试生成函数.这个东西好神奇.生成函数的精华是两个生成函数相乘,对应 $x^{i}$ 前的系数表示取 $i$ 个时的方案数. 有时候,我们会将函数按等比数列求和公式进行压缩,这样会更方便. 首先,将所有物品的生成函数都列出来,发现所有式子的乘积为 $\frac{x}{(x-4)^{n}}$即 $x\times$$\frac{1}{(1-x)^4}$.依据麦克劳林展开,$\frac{1}{(1-x)^n}$的展开为 $\sum_{i=0}^{\infty}C_{n+i…
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=3028 题解:列出母函数乘起来化简之后再展开,用插板法即可. 代码: #include<cstdio> #include<cstdlib> #include<cmath> #include<cstring> #include<algorithm> #include<iostream> #include<vector> #…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 把式子写出来,化一化,变成 x / ((1-x)^4) ,变成几个 sigma 相乘的样子,用组合意义看一下第 n 项的系数,就是 n-1 的可以不选的划分,即 C( n-1+3,3 ) .为了高精度方便,化成 (n+2)*(n+1)*n/6 . 别忘了取模. 注意读入高精度数字的方法.错了几次之后只会一位一位地读了…… #include<iostream> #include<…
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3028 式子很好推,详细可以看这篇博客:https://blog.csdn.net/wu_tongtong/article/details/78856565 所以就是要求 C(n+2,3) ,n 很大但是模数很小,可以用 Lucas 定理: 总觉得真的写了高精度和 Lucas 定理有点麻烦...而且还因为一处忘记取模 RE 了一次... 代码如下: #include<iostream> #…
定义:对于一个数列,它的母函数(即生成函数)为   为了对这个准确求值,我们设    举一个简单的例子 例1 对于数列 他的生成函数为 ,那么应用一下等比数列求和公式 这里由于 所以当时 那么   例2 对于数列 生成函数 就是上面那个的比例系数放大到b 那么就是 例3 对于数列 生成函数 就是比例系数放大到 可以得出 类比可以得到   例4 然后是一个很鬼的 对于数列求生成函数 我们考虑这个东西是在无限定义下的 所以等价于 同时可以扩展到 例5 然后是一个稍微麻烦点的 对于数列求生成函数  …
[BZOJ3028]食物(生成函数) 题面 一个人要带\(n\)个物品,共有\(8\)种物品,每种的限制分别如下: 偶数个;0/1个;0/1/2个;奇数个; 4的倍数个;0/1/2/3个;0/1个;3的倍数个. 求方案数. \(n<=10^{500}\) 题解 对于八个物品的限制,分别构造生成函数,然后乘起来就是我们要的解. 化简后得到\[F(x)=\frac{x}{(1-x)^4}=x(1+x+x^2+...)^4\] 现在考虑求第\(n\)项系数.考虑第\(n\)项的组合意义,即将\(n\)…
题目描述 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 当然,他又有一些稀奇古怪的限制: 每种食物的限制如下:        承德汉堡:偶数个        可乐:0个或1个        鸡腿:0个,1个或2个        蜜桃多:奇数个        鸡块:4的倍数个        包子:0个,1…
题目大意: 有c种不同的巧克力,每种无限个,意味着取出每种的几率每次为1/c.现在你需要取n次.然后将统计每种取出来的巧克力的数量.若为偶数则舍去,否则留下一个.问最后留下m个的概率是多少. 题目分析: 由于取出每种巧克力的概率始终相同,.不妨假设取出奇数个的巧克力正好是1~m,m+1则取出偶数次,然后求出这种情况的次数.最后答案乘以C(c,m)再除以c^n即可.由于可以取出相同的巧克力,所以采用指数型生成函数. 对于前m种,构造g(x)=x/1!+x^3/3!+x^5/5!.....=sinh…
3028: 食物 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 569  Solved: 382 Description 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险! 我们暂且不讨论他有多么NC,他又幻想了他应该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数. 他这次又准备带一些受欢迎的食物,如:蜜桃多啦,鸡块啦,承德汉堡等等 当然,他又有一些稀奇古怪的限制: 每种食物的限制如下:        承德汉堡:偶数个…
承德汉堡:\( 1+x^2+x^4+...=\frac{1}{1-x^2} \) 可乐:\(1+x \) 鸡腿:\( 1+x+x^2=\frac{x^3-1}{x-1} \) 蜜桃多:\( x+x^3+x^5+...=\frac{x}{1-x^2} \) 鸡块:\( 1+x^4+x^8+...=\frac{1}{1-x^4} \) 包子:\( 1+x+x^2+x^3=\frac{x^4-1}{x-1} \) 土豆片炒肉:\( 1+x \) 面包:\( 1+x^3+x^6+x^9+...=\fra…
http://www.lydsy.com/JudgeOnline/problem.php?id=3028 题意: 每种食物的限制如下:汉堡:偶数个:可乐:0个或1个鸡腿:0个,1个或2个蜜桃:奇数个鸡块:4的倍数个包子:0个,1个,2个或3个土豆:不超过一个.面包:3的倍数个 问带$n$个物品的方案数(n<=10^500) #include <bits/stdc++.h> using namespace std; int main() { int n=0; char c; while(c…
题目1 COGS 很强的乘法问题 高精度乘法用FFT加速 #include <cstdlib> #include <iostream> #include <algorithm> #include <cstring> #include <cstdio> #include <cmath> #define Pi acos(-1) using namespace std; + ; ; struct Complex { double r, i;…
题意 从$0$到$n-1$的数字里可重复的取至多$m$个数的和等于$k$的方案数. 思路 显然的生成函数的思路为构造 $(1+x+x^{2}+...+x^{n-1})^{m}$ 那么$x^{k}$的系数即答案.等比数列求和后得到 $ \frac {(1-x^n)^m} {(1-x)^m}$ 对分子二项式展开得到 $(1-x^n)^m = \sum_{i=0}^m C_m^{i}(-1)^i * x^{n*i}$ 对分母根据泰勒展开得到 $(1-x)^{-m} = \sum_{j = 0}^{\i…
多项式 多项式乘法 FFT,NTT,MTT不是前置知识吗?随便学一下就好了(虽然我到现在还是不会MTT,exlucas也不会用) FTT总结 NTT总结 泰勒展开 如果一个多项式\(f(x)\)在\(x0\)时存在n阶导(就是可以求导\(n\)次),那么可以换成下面这样的一个式子: \(\begin{aligned}f(x)&=f(x0)+\frac{f^1(x0)}{1!}(x-x0)+\frac{f^2(x0)}{2!}(x-x0)^2+...+\frac{f^n(x0)}{n!}(x-x0…
数学杂烩总结(多项式/形式幂级数+FWT+特征多项式+生成函数+斯特林数+二次剩余+单位根反演+置换群) 因为不会做目录所以请善用ctrl+F 本来想的是笔记之类的,写着写着就变成了资源整理 一些有的没的的前置 导数 \(f'(x)=\lim\limits_{\triangle x\rightarrow 0}\frac{f(x+\triangle x)-f(x)}{\triangle x}\) \(\sin x:\cos x\) \(\cos x:-\sin x\) \(\ln x:\frac{…
题面 传送门 思路 本文中所有$m$是原题目中的$k$ 首先,这个一看就是$d=1,2,3$数据分治 d=1 不说了,很简单,$m^n$ d=2 先上个$dp$试试 设$dp[i][j]$表示前$i$个复读机用掉了$j$个机会,注意这个东西最后求出来的是分配方案,还要乘以一个$n!$ $dp[i][j]=\sum_{k=0}^j [d|k]\binom{n-j+k}{k}dp[i-1][j-k]$ $dp[i][j]=\sum_{k=0}^j [d|k]\frac{(n-j+k)!}{(n-j)…
\(\color{#0066ff}{ 题目描述 }\) 明明这次又要出去旅游了,和上次不同的是,他这次要去宇宙探险!我们暂且不讨论他有多么NC,他又幻想了他应 该带一些什么东西.理所当然的,你当然要帮他计算携带N件物品的方案数.他这次又准备带一些受欢迎的食物, 如:蜜桃多啦,鸡块啦,承德汉堡等等当然,他又有一些稀奇古怪的限制:每种食物的限制如下: 承德汉堡:偶数个 可乐:0个或1个 鸡腿:0个,1个或2个 蜜桃多:奇数个 鸡块:4的倍数个 包子:0个,1个,2个或3个 土豆片炒肉:不超过一个.…