好好玩

即对于k∈[1,t] 求(ax+by)^k

以下图片均来自于:

在Ta的博客查看

二项式展开:

设:

那么:

可以卷积了

求:

(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 玩游戏的更多相关文章

  1. luoguP4705 玩游戏 分治FFT

    \[ \begin{aligned} Ans(k) &= \sum \limits_{i = 1}^n \sum \limits_{j = 1}^m \sum \limits_{t = 0}^ ...

  2. 原生JS实战:写了个一边玩游戏,一边记JS的API的游戏

    本文是苏福的原创文章,转载请注明出处:苏福CNblog:http://www.cnblogs.com/susufufu/p/5878913.html 本程序[一边玩游戏,一边记JS的API]是本人的个 ...

  3. bzoj4730: Alice和Bob又在玩游戏

    Description Alice和Bob在玩游戏.有n个节点,m条边(0<=m<=n-1),构成若干棵有根树,每棵树的根节点是该连通块内编号最 小的点.Alice和Bob轮流操作,每回合 ...

  4. 小易邀请你玩一个数字游戏,小易给你一系列的整数。你们俩使用这些整数玩游戏。每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字。 例如: 如果{2,1,2,7}是你有的一系列数,小易说的数字是11.你可以得到方案2+2+7 = 11.如果顽皮的小易想坑你,他说的数字是6,那么你没有办法拼凑出和为6 现在小易给你n个数,让你找出无法从n个数中选取部分求和

    小易邀请你玩一个数字游戏,小易给你一系列的整数.你们俩使用这些整数玩游戏.每次小易会任意说一个数字出来,然后你需要从这一系列数字中选取一部分出来让它们的和等于小易所说的数字. 例如: 如果{2,1,2 ...

  5. cdoj 1136 邱老师玩游戏 树形背包

    邱老师玩游戏 Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/1136 Desc ...

  6. win7系统玩游戏不能全屏的解决办法

    1.修改注册表中的显示器的参数设置   Win键+R键,打开运行窗口,输入regedit回车,这样就打开了注册表编辑器,然后,定位到以下位置:   HKEY_LOCAL_MACHINE\SYSTEM\ ...

  7. 【用PS3手柄在安卓设备上玩游戏系列】连接手柄和设备

    背景 硬件要求1:PS3 手柄 + 手柄配套的USB线 硬件要求2:已经获得 ROOT 权限并且支持蓝牙的安卓设备 软件要求1:Sixaxis Compatibility Checker PS3 手柄 ...

  8. UESTC_邱老师玩游戏 2015 UESTC Training for Dynamic Programming<Problem G>

    G - 邱老师玩游戏 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submi ...

  9. 【特殊的图+DP】【11月校赛】大家一起玩游戏

    大家一起玩游戏 Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other) Total Submi ...

随机推荐

  1. ButterKnife注解式绑定控件

    Butter Knife Android为控件设计的注解绑定库. github地址:https://github.com/JakeWharton/butterknife 添加依赖:(具体看github ...

  2. 通过Visual Studio 2012 比较SQL Server 数据库的架构变更

    一 需求 随着公司业务的发展,数据库实例也逐渐增多,数据库也会越来越多,有时候我们会发现正式生产数据库也测试数据库数据不一致,也有可能是预发布环境下的数据库与其他数据库架构不一致,或者,分布式数据库上 ...

  3. C# Debug和release判断用法

    C# Debug和release判断用法 #if (!DEBUG) Response.Write("DEBUG下运行");#else Response.Write("re ...

  4. HO6 Condo Insurance Policy

    The HO6 insurance Policy is the most common type of policy used to insure town homes and condos in t ...

  5. Vue SSR: 基本用法 (二)

    上一篇讲解了ssr的原理,这篇主要讲基本用法: 1.安装 npm install vue vue-server-renderer --save 我们将在整个指南中使用 NPM,但你也可以使用 Yarn ...

  6. tqdm介绍及常用方法

    Tqdm 是一个快速,可扩展的Python进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器 tqdm(iterator). 使用pip就可以安装. Tqdm 是一 ...

  7. ORACLE 常见等待事件

    一. 等待事件的相关知识 1.1 等待事件主要可以分为两类,即空闲(IDLE)等待事件和非空闲(NON-IDLE)等待事件.1). 空闲等待事件指ORACLE正等待某种工作,在诊断和优化数据库的时候, ...

  8. copy 和 deepcopy的区别

    import copy a = [1, 2, 3, 4, ['a', 'b']] b = a # 引用,除非直接给a重新赋值,否则a变则b变,b变则a变 c = copy.copy(a) # 浅复制, ...

  9. 初学python必备基础知识

    一,编程语言介绍 1.机器语言:直接用二进制编程,直接控制硬件,需要掌握硬件的操作细节 优点:执行效率高   缺点:   开发效率低 2.汇编语言:用英文标签取代二进制指令去编写程序,直接控制硬件,需 ...

  10. 自己编写 EntityTypeConfiguration

    1.新建类库 EFCore.EntityTypeConfig ,安装nuget  PM> Install-Package Microsoft.EntityFrameworkCore 2.新建接口 ...