洛谷 P4705 玩游戏
题目分析
题目要求的是:
\[
\sum_{i=1}^n\sum_{j=1}^m(a_i+b_j)^x(x\in [1,T])
\]
利用二项式定理化式子,
\[
\begin{aligned}
&\sum_{i=1}^n\sum_{j=1}^m(a_i+b_j)^x\\
=&\sum_{i=1}^n\sum_{j=1}^m\sum_{k=0}^x\binom{x}{k}a_i^kb_j^{x-k}\\
=&x!\sum_{i=1}^n\sum_{j=1}^m\sum_{k=0}^x\frac{a_i^k}{k!}\frac{b_j^{x-k}}{(x-k)!}\\
=&x!\sum_{k=0}^x\frac{\sum_{i=1}^na_i^k}{k!}\frac{\sum_{j=1}^mb_j^{x-k}}{(x-k)!}
\end{aligned}
\]
发现上面是一个卷积的形式。现在需要我们能快速求出\(\sum\limits_{i=1}^na_i^k\)。
构造\(\sum\limits_{i=1}^na_i^k\)的生成函数:
\[
\begin{aligned}
A(i)&=\sum_ja_i^jx^j\\
F(x)&=\sum_{i=1}^nA(i)
\end{aligned}
\]
\(F\)函数的每一项即为\(\sum\limits_{i=1}^na_i^k\)。
化一下式子
\[
\begin{aligned}
F(x)&=\sum_{i=1}^n\sum_{j}a_i^jx^j\\
&=\sum_{i=1}^n\frac{1}{1-a_ix}\\
&=\sum_{i=1}^n1+\frac{a_ix}{1-a_ix}\\
&=n-x\sum_{i=1}^n\frac{-a_i}{1-a_ix}\\
&=n-x\sum_{i=1}^n\left[\ln(1-a_ix)\right]'\\
&=n-x\left[\sum_{i=1}^n\ln(1-a_ix)\right]'\\
&=n-x\left\{\ln\left[\prod_{i=1}^n(1-a_ix)\right]\right\}'\\
\end{aligned}
\]
\(\prod_{i=1}^n(1-a_ix)\)可以用分治FFT\(O(nlog^2n)\)算出。
那么再求ln,求导,乘上x,取负,加上常数项就能得到\(F\)了。
最后把a,b的生成函数分别除以一下阶乘,再卷积一下即可。
洛谷 P4705 玩游戏的更多相关文章
- 洛谷 P4705 玩游戏 解题报告
		
P4705 玩游戏 题意:给长为\(n\)的\(\{a_i\}\)和长为\(m\)的\(\{b_i\}\),设 \[ f(x)=\sum_{k\ge 0}\sum_{i=1}^n\sum_{j=1}^ ...
 - 洛谷P4705 玩游戏 [生成函数,NTT]
		
传送门 这是两个月之前写的题,但没写博客.现在回过头来看一下发现又不会了-- 还是要写博客加深记忆. 思路 显然期望可以算出总数再乘上\((nm)^{-1}\). 那么有 \[ \begin{alig ...
 - [洛谷P4705]玩游戏
		
题目大意:对于每个$k\in[1,t]$,求:$$\dfrac{\sum\limits_{i=1}^n\sum\limits_{j=1}^m(a_i+b_j)^k}{nm}$$$n,m,t\leqsl ...
 - 洛谷P4705 玩游戏(生成函数+多项式运算)
		
题面 传送门 题解 妈呀这辣鸡题目调了我整整三天--最后发现竟然是因为分治\(NTT\)之后的多项式长度不是\(2\)的幂导致把多项式的值存下来的时候发生了一些玄学错误--玄学到了我\(WA\)的点全 ...
 - 洛谷 P2197 nim游戏
		
洛谷 P2197 nim游戏 题目描述 甲,乙两个人玩Nim取石子游戏. nim游戏的规则是这样的:地上有n堆石子(每堆石子数量小于10000),每人每次可从任意一堆石子里取出任意多枚石子扔掉,可以取 ...
 - 洛谷 P1965 转圈游戏
		
洛谷 P1965 转圈游戏 传送门 思路 每一轮第 0 号位置上的小伙伴顺时针走到第 m 号位置,第 1 号位置小伙伴走到第 m+1 号位置,--,依此类推,第n − m号位置上的小伙伴走到第 0 号 ...
 - 【流水调度问题】【邻项交换对比】【Johnson法则】洛谷P1080国王游戏/P1248加工生产调度/P2123皇后游戏/P1541爬山
		
前提说明,因为我比较菜,关于理论性的证明大部分是搬来其他大佬的,相应地方有注明. 我自己写的部分换颜色来便于区分. 邻项交换对比是求一定条件下的最优排序的思想(个人理解).这部分最近做了一些题,就一起 ...
 - $loj10156/$洛谷$2016$ 战略游戏 树形$DP$
		
洛谷loj Desription Bob 喜欢玩电脑游戏,特别是战略游戏.但是他经常无法找到快速玩过游戏的方法.现在他有个问题. 现在他有座古城堡,古城堡的路形成一棵树.他要在这棵树的节点上放置最少数 ...
 - 洛谷P1080 国王游戏 python解法 - 高精 贪心 排序
		
洛谷的题目实在是裹脚布 还编的像童话 这题要 "使得获得奖赏最多的大臣,所获奖赏尽可能的少." 看了半天都觉得不像人话 总算理解后 简单说题目的意思就是 根据既定的运算规则 如何排 ...
 
随机推荐
- [转]MongoDB 概念解析
			
本文转自:http://www.runoob.com/mongodb/mongodb-databases-documents-collections.html 不管我们学习什么数据库都应该学习其中的基 ...
 - [C#]浅谈协变与逆变
			
看过几篇说协变与逆变的博客,虽然都是正确无误的,但是感觉都没有说得清晰明了,没有切中要害.那么我也试着从我的理解角度来谈一谈协变与逆变吧. 什么是协变与逆变 MSDN的解释:https://msdn. ...
 - 撩课-Java每天5道面试题第16天
			
111.什么是乐观锁(Optimistic Locking)? 悲观锁,正如其名, 它指的是对数据被外界 包括本系统当前的其他事务, 以及来自外部系统的事务处理 修改持保守态度, 因此,在整个数据处理 ...
 - java队列queue的我觉得很好的使用方式
			
LinkedList实现了queue接口,通常使用LinkedList 其中关键两个函数:offer().poll() offer()表示“排队”----插入到队列最前,poll()表示轮到了队列最前 ...
 - Python Django ORM创建基本类以及生成数据结构
			
#在项目目录下的modules.py中创建一个类,来自动生成一张表UserInfo class UserInfo(models.Model): username = models.CharField( ...
 - js-js的全局变量和局部变量
			
*** 全局变量:在script标签里面定义一个变量,这个变量在页面中js部分都可以使用 - 在方法外部使用,在方法内部使用,在另外一个script标签中使用 *** 局部变量:在方法内部定义一个变量 ...
 - redux、immutablejs和mobx性能对比(三)
			
四.我的结论 通过第三部分的数据数据分析,我觉得我们可以得到以下结论: 无论是在开发环境还是测试环下页面的首次加载速度结果都是:redux>immutablejs>mobx,但是他们之间的 ...
 - sql 传入参数为逗号分隔的字符串处理方法
			
写了个存储过程,中间用到了类似这种写法 Select * From User Where ID In('1,2,3') 其中'1,2,3'是从外面传进来的参数,就这样执行报错:'1,2,3'转换为in ...
 - Java设计模式—备忘录模式
			
个人感觉备忘录模式是一个比较难的设计模式,备忘录模式就是一个对象的备份模式,提供了一种程序数据的备份方法. 定义如下:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态.这样以 ...
 - C++多线程编程(★入门经典实例★)
			
原文:http://www.cnblogs.com/codingmengmeng/p/5913068.html 多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对 ...