2019 ICPC-EC final C.Dirichlet k -th root

Dirichlet k -th root

https://ac.nowcoder.com/acm/contest/3732/C


C.Dirichlet k -th root



图片说明



狄利克雷卷积性质,和HDU-5628 Clarke and math这题一样。

复杂度.


#include<bits/stdc++.h>
using namespace std;
const int mod=998244353;
typedef long long ll;
const int N=1e5+5;
ll f[N],g[N],t[N];
int n,k;
ll ksm(ll a,ll b){
    ll ans=1;
    for(;b>0;b>>=1,a=a*a%mod)if(b&1)ans=ans*a%mod;
    return ans;
}
void cal(ll *a,ll *b){
    memset(t,0,sizeof t);
    for(int i=1;i<=n;i++){
        for(int j=i;j<=n;j+=i){
            t[j]+=a[i]*b[j/i];
            if(t[j]>=mod)t[j]%=mod;
        }
    }
    for(int i=1;i<=n;i++)a[i]=t[i];
}
int main(){
    scanf("%d%d",&n,&k);
    for(int i=1;i<=n;i++)scanf("%d",&g[i]);
    f[1]=1;
    k=ksm(k,mod-2);
    while(k){
        if(k&1)cal(f,g);
        cal(g,g);
        k>>=1;
    }
    for(int i=1;i<=n;i++)printf("%d%c",f[i]," \n"[i==n]);
}

全部评论

相关推荐

05-20 21:57
已编辑
门头沟学院 Java
喜欢吃卤蛋的悲伤蛙在...:建信融通没消息吧,我2说有实习挂简历不理了
点赞 评论 收藏
分享
看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
点赞 评论 收藏
分享
评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务