博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
luoguP4705 玩游戏
阅读量:6935 次
发布时间:2019-06-27

本文共 1597 字,大约阅读时间需要 5 分钟。

好好玩

即对于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+5;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(2);g[0]=1;g[1]=c[l];return g;    }    int mid=(l+r)>>1;    Poly L=divi(l,mid),R=divi(mid+1,r);    return L*R;}void wrk(int *a,int *A,int n){        for(reg i=1;i<=n;++i) c[i]=a[i];    Poly G=divi(1,n);    // G.out();    G.resize(K+4);    G=Ln(G);       G.resize(K+1);    // G.out();    for(reg k=1;k<=K;++k){        if((k+1)&1){            A[k]=mod-mul(G[k],k);        }else{            A[k]=mul(G[k],k);        }    }}int main(){    rd(n);rd(m);    for(reg i=1;i<=n;++i){        rd(a[i]);    }    for(reg i=1;i<=m;++i){        rd(b[i]);    }    rd(K);    wrk(a,A,n);    wrk(b,B,m);    A[0]=n;    B[0]=m;    // prt(A,0,K);    // prt(B,0,K);    Poly f,g;    f.resize(K+1);g.resize(K+1);    jie[0]=1;    for(reg i=1;i<=K;++i) jie[i]=(ll)jie[i-1]*i%mod;    inv[K]=qm(jie[K],mod-2);    for(reg i=K-1;i>=0;--i) inv[i]=mul(inv[i+1],i+1);    for(reg i=0;i<=K;++i){        f[i]=mul(A[i],inv[i]);        g[i]=mul(B[i],inv[i]);    }    f=f*g;    for(reg i=1;i<=K;++i){        ll ans=mul(jie[i],f[i]);        ans=mul(ans,qm(mul(n,m),mod-2));        printf("%lld\n",ans);    }    return 0;}

 

转载于:https://www.cnblogs.com/Miracevin/p/10736482.html

你可能感兴趣的文章
屌丝程序员的那些事(二)-第一次面试
查看>>
JSP基础(二)JSP语法概述
查看>>
京东商城招聘自动调价系统架构师 T4级别
查看>>
浅C#中的装箱和拆箱
查看>>
JavaScript富应用MVC MVVM框架
查看>>
采用左右值编码来存储无限分级树形结构的数据库表设计
查看>>
[置顶] 信息熵的计算
查看>>
WinJS.Binding.List与kendo.data.ObservableArray
查看>>
Windows环境下32位汇编语言程序设计(典藏版)
查看>>
Fedora 19的U盘安装 以及简单配置
查看>>
迷你MVVM框架 avalonjs 0.85发布
查看>>
16Khz音频定时触发采样DMA存储过程
查看>>
关注经典:CSS Awards 获奖网站作品赏析《第一季》
查看>>
PYTHON连MS SQL示例
查看>>
selenium-webdriver(python) (十三) -- cookie处理
查看>>
Failed to export using the options you specified. Please check your options and try again
查看>>
JavaScript callee caller
查看>>
SQL的datetime类型数据转换为字符串格式大全
查看>>
Approximate Inference 近似推断
查看>>
Lua协程学习
查看>>