UOJ #450「集训队作业2018」复读机】的更多相关文章

UOJ #450 题意 有$ k$台复读机,每时每刻有且只有一台复读机进行复读 求$ n$时刻后每台复读机的复读次数都是$ d$的倍数的方案数 $ 1\leq d \leq 3,k \leq 5·10^5,n \leq 10^9$ 当$ d=3$时$ k \leq 10^3$ 题解 $ d=1$的略过 对复读机构建生成函数 发现这是指数生成函数 即我们要计算的是$$(\sum_{i=0}^n[d|i]\frac{x^i}{i!})^k[x^n]=(\sum_{i=0}^n[d|i]e^x)^k…
原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ450.html 题解 首先有一个东西叫做“单位根反演”,它在 FFT 的时候用到过: $$\frac 1 n \sum_{i=0}^{n-1} \omega_n ^{d\cdot i} = [d|n]$$ 其中 $\omega_n$ 表示 $n$ 次单位根. 接下来我们回到本题. 我们来搞一个指数生成函数,第 i 项表示总共复读 i 次,使得一个复读机开心的方案. $$f(x) = \sum_{i\ge…
题面 传送门 题解 我的生成函数和单位根反演的芝士都一塌糊涂啊-- \(d=1\),答案就是\(k^n\)(因为这里\(k\)个复读机互不相同,就是说有标号) \(d=2\),我们考虑复读机的生成函数 \[\left(\sum_{i=0}^\infty [2|i]{x^i\over i!}\right)^k[x^n]=\left(e^x+e^{-x}\over 2\right)^k[x^n]\] 后面那个可以二项式定理展开 顺便说一下,对于形如\(e^{ax}\)项的第\(n\)项系数就是把\(…
前置知识单位根反演自己去浅谈单位根反演看(此外可能需要一定的生成函数的姿势) 首先一看\(d\)这么小,那我们来分类讨论一下吧 当\(d=1\)时,显然答案就是\(k^n\) 当\(d=2\)时,如果你知道可重排列的指数型生成函数: \[G(x)=\sum_{i=0} \frac{x^{2i}}{(2i)!}\] 那么就跳过以下部分直接去看转化,我们来推导一下这个生成函数 直接搞一个DP,设\(f_{i,j}\)表示前\(i\)个复读机选了\(j\)个时间的方案数,转移的时候枚举这个复读机复读了…
题目:http://uoj.ac/problem/450 重要式子: \( e^x = \sum\limits_{i=0}^{\infty} \frac{x^i}{i!} \) \( ( e^{a*x} )^{(n)} = a^n * e^{a*x} \) 所以 \( e^{a*x} \)  \( [x^n] \) 乘上 n! 就是 \( a^n \) (考虑求 n 次导之后,n 次项系数变成 0 次项系数:x 取值为0即可求得现在的 0 次项系数) 推式子可以看这里:https://blog.…
[UOJ#450][集训队作业2018]复读机(生成函数,单位根反演) 题面 UOJ 题解 似乎是\(\mbox{Anson}\)爷的题. \(d=1\)的时候,随便怎么都行,答案就是\(k^n\). \(d=2\)的时候,可以做一个\(dp\),设\(f[i][j]\)表示前\(i\)个复读机选了\(j\)个时间的方案数. 然后枚举当前这个复读机复读的次数,得到: \[f[x][j]=\sum_{i=0}^{j}[2|i]{n-j+i\choose i}f[x-1][j-i]\] 化简啥的之后…
uoj450 [集训队作业2018]复读机(生成函数,单位根反演) uoj 题解时间 首先直接搞出单个复读机的生成函数 $ \sum\limits_{ i = 0 }^{ k } [ d | i ] \frac{ x^{ i } }{ i! } $ . 容易想到直接上单位根反演: \[\begin{aligned} \sum\limits_{ i = 0 }^{ k } [ d | i ] \frac{ x^{ i } }{ i! } & = \sum\limits_{ i = 0 }^{ k…
题目链接 题目描述 群里有\(k\)个不同的复读机.为了庆祝平安夜的到来,在接下来的\(n\)秒内,它们每秒钟都会选出一位优秀的复读机进行复读.非常滑稽的是,一个复读机只有总共复读了\(d\)的倍数次才会感到快乐.问有多少种不同的安排方式使得所有的复读机都感到快乐. Sol 发现 \(d\) 只有 \(3\) , 很可能需要分开讨论. \(d=1\) 就是 \(k^n\) \(d=2\): 其实容易发现这是一个有次数限制的可重排列问题,那么可以使用指数型生成函数来解决. 一个复读机的生成函数就是…
题目链接:UOJ EI神仙加强版 既然这题模数是今天日期减去\(7\times 10^5\),那就要赶紧把这题做了. 首先肯定是考虑指数型生成函数,列出来之后使用单位根反演一波. \[\begin{aligned}Ans&=(\sum_{d|i}\frac{x^i}{i!})^k \\&=(\frac{\sum_{j=0}^{d-1}\sum_{i=0}^n\frac{(\omega_d^jx)^i}{i!}}{d})^k \\&=(\frac{\sum_{i=0}^{d-1}e^…
传送门 \(d=1\) 输出 \(k^n\) \(d=2\),构造生成函数,就是求 \[(\sum_{i=0}^{\infty}[2|i]\frac{x^i}{i!})^k[x^n]=(\frac{e^x+e^{-x}}{2})^k\] 直接二项式定理展开求 \(n\) 次项系数即可 \(d=3\),构造生成函数,就是求 \[(\sum_{i=0}^{\infty}[3|i]\frac{x^i}{i!})^k[x^n]\] \(19491001-1\) 正好是 \(3\) 的倍数,直接单位根弄一…