母函数
文章平均质量分 85
alpc_qleonardo
这个作者很懒,什么都没留下…
展开
-
CodeForces - 1264D2 Beautiful Bracket Sequence(生成函数 + 组合计数)
大致题意 给你一个由左右括号和?组成的字符串,现在?可以替换成左右括号的任意一个。定义一个字符串的深度为最大的左右括号嵌套数。现在问,所有的替换方案产生的字符串的深度总和是多少。 做法 如果有nnn括号,那么就会有2n2^n2n个字符串,显然直接计算不可以。 考虑一个字符为 ‘(’ 的位置iii,如果他要对最后的深度产生影响,当且仅当它和它左边的 ‘(’ 数目小于等于它右边的 ‘)’ 数目。那...原创 2019-12-12 11:18:49 · 850 阅读 · 0 评论 -
2017多校训练赛第一场 HDU 6042 (母函数)
人生第一道母函数的题目,纪念一下…… 我就稍微说说母函数吧。母函数分为普通型母函数和指数型母函数,两个分别对应解决组合问题和排列问题。关于它的用法表示,这个自己看看百度百科吧,个人感觉百科已经说得很清楚了。大致意思就是可以通过母函数某一次项的系数来确定结果。 然后这题的话,总共有n个物品,第i个物品的体积为i,数量为ai。那么物品i对应的母函数就是1+x^i+x^2i+x^3i+……+x^ai。剩下的直接就看官方题解吧,够清楚了……原创 2017-08-02 09:57:51 · 1533 阅读 · 0 评论 -
计蒜客 2018 宁夏ICPC Rock Paper Scissors(FFT+母函数)
大致题意:石头剪子布蜥蜴斯波克。然后给你两个人分别出的手势,第一个人出的数量更多,第二个人更少。因此在比较的时候第二个人的手势可以顺势在上面滑动,即不同滑动产生不同的对应,这样会有不同的结果。现在问你,在最好的情况下,第二个人能够胜多少场。 首先,手势只有五种,那么第二个人获胜的总场数会等于 出石头获胜的场次 + 出剪刀获胜的场次 + ... + 出斯波克获胜的场次。所以可以分为五个小问题,枚举手势,对于每一个,我只需要考虑两种状态,赢和不赢。 然后,枚举当前手势 i,对原创 2018-04-30 15:32:01 · 847 阅读 · 0 评论 -
SPOJ TSUM Triple Sums(FFT+生成函数+容斥原理)
大致题意:给你N个数字,然后从中任意挑选三个数字并求和,让你输出和的所以可能以及对应取到每个和的方案数。 由于是加法,考虑用生成函数,两个生成函数相乘可以得到任意两个项相加的和,三个也是一样。由于|si| <=20000,因此首先把si整体扩大20000防止出现负数。令A为对应的生成函数,我们可以发现,A*A*A的结果回出现重复。A*A*A=三个数字一样+其中两个数字一样+三个数字不相同。于是考虑容斥,减去重复的。令A*A*A表示总体,B表示取两个相同数字,那么A*B=其中两个数字一样+三个原创 2018-05-03 15:32:18 · 610 阅读 · 0 评论 -
CodeForces 438E The Child and Binary Tree(DP + 生成函数 + 多项式模运算)
大致题意:给定一个集合{Cn},一棵二叉树上的所有节点的点权值从这个集合中选取。现在给定一个m,问对于1..m中的每一个数字i,权值和恰好为i的不同的二叉树的个数有多少个。这里形态不同但点权集合的二叉树视为两种方案。 与前面做的题目类似,这种题目我们还是用dp的思维去考虑。令fi表示权值和为i的二叉树的个数。那么考虑增加一个点x,这个点的权值可以取i,Ci表示数值i在初始...原创 2018-12-26 22:53:00 · 306 阅读 · 0 评论 -
CodeForces 891E Lust(生成函数)
大致题意:给出一个数列{an},每次随机的选择一个数字ai,产生出了ai之外其余所有数字之积的贡献,然后ai减一。现在进行k次这样的操作,问最后者k次操作产生的贡献之和是多少。 这个贡献看起来很复杂,但是实际上,我们可以把每一次操作的贡献,看作是操作前后所有数字的乘积之差。具体推导如下: ...原创 2018-12-27 11:09:26 · 663 阅读 · 1 评论