luoguP4705 玩游戏
好好玩

即对于k∈[1,t] 求(ax+by)^k
以下图片均来自于:
一

二项式展开:

设:

那么:

可以卷积了
二
求:

(PS:随机序列的0~k次方和,这是一个经典问题。)
我的思路:O(nk)暴力
神仙思路:求一个毫不沾边的东西,然后写两次,对应上系数。O(nlog^2n)
不妨考虑求A(x):
先求一个看起来毫不沾边的东西:


这个G成为了写两次的东西
解决问题的中轴和杠杆
利用
分治NTT+求Ln
现在已经写了一次
写第二次:


对于单独一项,采用Taylor展开,往多项式方向靠近

合起来:
交换顺序:

哇!
写第二次,
用Taylor展开+交换求和号
对应系数直接相等
神仙神仙~!~~~!!~!
Code
多项式全家桶
const int N=1e5+;
int n,m,K;
int a[N],b[N];
int A[N],B[N];
int c[N];
int jie[N],inv[N];
il Poly divi(int l,int r){
if(l==r){
Poly g;g.resize();g[]=;g[]=c[l];return g;
}
int mid=(l+r)>>;
Poly L=divi(l,mid),R=divi(mid+,r);
return L*R;
}
void wrk(int *a,int *A,int n){
for(reg i=;i<=n;++i) c[i]=a[i];
Poly G=divi(,n);
// G.out();
G.resize(K+);
G=Ln(G);
G.resize(K+);
// G.out();
for(reg k=;k<=K;++k){
if((k+)&){
A[k]=mod-mul(G[k],k);
}else{
A[k]=mul(G[k],k);
}
}
}
int main(){
rd(n);rd(m);
for(reg i=;i<=n;++i){
rd(a[i]);
}
for(reg i=;i<=m;++i){
rd(b[i]);
}
rd(K);
wrk(a,A,n);
wrk(b,B,m);
A[]=n;
B[]=m;
// prt(A,0,K);
// prt(B,0,K); Poly f,g;
f.resize(K+);g.resize(K+);
jie[]=;
for(reg i=;i<=K;++i) jie[i]=(ll)jie[i-]*i%mod;
inv[K]=qm(jie[K],mod-);
for(reg i=K-;i>=;--i) inv[i]=mul(inv[i+],i+); for(reg i=;i<=K;++i){
f[i]=mul(A[i],inv[i]);
g[i]=mul(B[i],inv[i]);
}
f=f*g;
for(reg i=;i<=K;++i){
ll ans=mul(jie[i],f[i]);
ans=mul(ans,qm(mul(n,m),mod-));
printf("%lld\n",ans);
}
return ;
}
luoguP4705 玩游戏的更多相关文章
- luoguP4705 玩游戏 分治FFT
\[ \begin{aligned} Ans(k) &= \sum \limits_{i = 1}^n \sum \limits_{j = 1}^m \sum \limits_{t = 0}^ ...
- 原生JS实战:写了个一边玩游戏,一边记JS的API的游戏
本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5878913.html 本程序[一边玩游戏,一边记JS的API]是本人的个 ...
- bzoj4730: Alice和Bob又在玩游戏
Description Alice和Bob在玩游戏.有n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最 小的点.Alice和Bob轮流操作,每回合 ...
- 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和
小易邀请你玩一个数字游戏,小易给你一系列的整数.你们俩使用这些整数玩游戏.每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字. 例如: 如果{2,1,2 ...
- cdoj 1136 邱老师玩游戏 树形背包
邱老师玩游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1136 Desc ...
- win7系统玩游戏不能全屏的解决办法
1.修改注册表中的显示器的参数设置 Win键+R键,打开运行窗口,输入regedit回车,这样就打开了注册表编辑器,然后,定位到以下位置: HKEY_LOCAL_MACHINE\SYSTEM\ ...
- 【用PS3手柄在安卓设备上玩游戏系列】连接手柄和设备
背景 硬件要求1:PS3 手柄 + 手柄配套的USB线 硬件要求2:已经获得 ROOT 权限并且支持蓝牙的安卓设备 软件要求1:Sixaxis Compatibility Checker PS3 手柄 ...
- UESTC_邱老师玩游戏 2015 UESTC Training for Dynamic Programming<Problem G>
G - 邱老师玩游戏 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) Submi ...
- 【特殊的图+DP】【11月校赛】大家一起玩游戏
大家一起玩游戏 Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Total Submi ...
随机推荐
- python实现有序字典
对于一个能够保存键值插入顺序的字典,是如何实现的? 主要有两点: 一个双向链表,用来记录字典的键值的插入顺序 一个键和链表节点的映射,主要用来删除键的时候,找到键对应的节点 python代码实现 cl ...
- 全民抵制“辱华”品牌秀,D&G神回复:呵呵~ 那不是我!
### 补发一下,前写天写的: 就在今天下午,有网友爆出知名品牌 Dolce&Gabbana(杜嘉班纳)的设计师兼创始人Stefano Gabbana在ins上公然发表辱华言论. 下面截图 可 ...
- pymongo 一篇文章搞定
一 安装 pip install pymongo 二 python连接mongodb数据库的前提 确保pymongo安装完毕 mongodb数据库的服务器端(mongod)必须处于启动状态 三 连接m ...
- localStorage和sessionStorage数据存储
var arr=[]; for(var i=0;i<4;i++){ arr[i]=i+i; } console.log(arr.toString()); //将json数据转化为字符串 var ...
- [已决解]关于Hadoop start-all.sh启动问题
问题一:出现Attempting to operate on hdfs namenode as root 写在最前注意: 1.master,slave都需要修改start-dfs.sh,stop-df ...
- Zabbix 3.4.7针对一些主机设置期间维护
场景说明: 由于公司有些主机设置了定时开机关机,每次开机关机得时候都会发邮件告警,每次都需要值班人员提醒,为了处理这种无效告警,可以在zabbix中设置维护 zabbix中的维护---维护期间:用来设 ...
- R语言学习——矩阵
> #矩阵是一个二维数组,每个元素都拥有相同的模式(数值型.字符型或者逻辑型).通过matrix()创建,一般使用格式为:mymatrix<-matrix(vector,nrow=numb ...
- 用CMD打开chrome并导航到百度(golang)
首选在cmd中输入(注意:根据你的电脑路径修改,可能是Progra~1): C:\Progra~\Google\Chrome\Application\chrome.exe www.baidu.com ...
- xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH ...
- keras 中模型的保存
参考:https://www.cnblogs.com/weiyinfu/p/9788179.html#0 1.model.summary() 这个函数会打印模型结构,但是仅仅是打印到控制台,不能保存 ...