没意思啊

题意:求 \(1^{k+2}(n)\),其中规定 \(1^k\) 在 \(k=1\) 时为 \(1\),在 \(2 \leq k\) 时为 \(1 * 1^{k-1}\)(* 为狄利克雷卷积,\(1(n)=1\))。

给一个积性函数,然后求其值,先将其分解质因数,在质数幂处分别求值,最后乘起来。

所以问题变成了求 \(1^k(p^K)\)。

设多项式 \(F_p^k(x)=\sum_{i=0}^{\infty}1^k(p^K)x^i\)

很明显对于所有 \(p\),当 \(k\) 相同时,\(F_p^k\) 是相等的。

而在这个意义下,求 \(f(p^K)\)就变成了求 \([x^K](F_p^1(x))^k\)。

很明显 \(F_p^1(x)=\sum_{i=0}^{\infty}x^i\),所以 \(f(p^K)\) 实际上就是对多项式 \(1\) 做 \(k+2\) 遍前缀和。

然后根据P5488,我们能够得到 \(f(p^K)=\binom K {K+k}=\frac {\prod_{i=1}^K(k+i)} {K!}\)。

然后就是分解质因子了,因为懒得写 PR 所以看了题解,把常用的三个质数特判了一下(

#include<cstdio>
const int M=1e6+5,mod=998244353;
int k,ans=1,top,inv[75],pri[M];bool zhi[M];
long long x,n;
inline int Add(const int&a,const int&b){
return a+b>=mod?a+b-mod:a+b;
}
inline int Del(const int&a,const int&b){
return b>a?a-b+mod:a-b;
}
inline void sieve(const int&M){
register int i,j,x;
for(i=2;i<=M;++i){
if(!zhi[i])pri[++top]=i;
for(j=1;(x=i*pri[j])<=M;++j){
zhi[i]=true;
if(!(i%pri[j]))break;
}
}
pri[++top]=mod;pri[++top]=1e9+7;pri[++top]=1e9+9;
}
inline int calc(const int&n){
register int i,ans=1;
for(i=1;i<=n;++i)ans=1ll*ans*inv[i]%mod*Del(Add(n+2,k),i)%mod;
return ans;
}
signed main(){
register int i,cnt;
scanf("%lld%lld",&n,&x);k=x%mod;
sieve(1e6);inv[1]=1;
for(i=2;i<=70;++i)inv[i]=1ll*(mod-mod/i)*inv[mod%i]%mod;
for(i=1;i<=top&&1ll*pri[i]*pri[i]<=n;++i){
if(n%pri[i])continue;cnt=0;
while(!(n%pri[i]))n/=pri[i],++cnt;
ans=1ll*ans*calc(cnt)%mod;
}
if(n>1)ans=1ll*ans*calc(1)%mod;
printf("%d",ans);
}

LGP4714题解的更多相关文章

  1. 2016 华南师大ACM校赛 SCNUCPC 非官方题解

    我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...

  2. noip2016十连测题解

    以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...

  3. BZOJ-2561-最小生成树 题解(最小割)

    2561: 最小生成树(题解) Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1628  Solved: 786 传送门:http://www.lyd ...

  4. Codeforces Round #353 (Div. 2) ABCDE 题解 python

    Problems     # Name     A Infinite Sequence standard input/output 1 s, 256 MB    x3509 B Restoring P ...

  5. 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解

    题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...

  6. 2016ACM青岛区域赛题解

    A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Jav ...

  7. poj1399 hoj1037 Direct Visibility 题解 (宽搜)

    http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...

  8. 网络流n题 题解

    学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...

  9. CF100965C题解..

    求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...

随机推荐

  1. 关于IBAction、IBOutlet前缀IB的解释

    - 全称:Interface Builder - 以前的UI界面开发模式:Xcode3 + Interface Builder - 从Xcode4开始,Interface Builder已经整合到Xc ...

  2. K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股

    K8s 二进制部署单节点 master    --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...

  3. MSTP多生成树协议

    MSTP多生成树协议 目录 MSTP多生成树协议 1.MSTP(Multiple Spanning Tree Protocol)概述 2.STP.RSTP.PVST的应用缺陷 3.MSTP的主要特点 ...

  4. .netcore基础知识(一)

    先来说说web服务器  先来一张图 一个典型的进程外托管模型 我们先看kestrel这一部分 我们在它前面放了一个方向代理服务器nginx 对http请求做预处理 kestrel本身是可以直接用作we ...

  5. 列出ubuntu软件管理工具apt的一些用法(自由总结)

    安装软件包 [root@CentOS7 ~]#apt install tree 删除软件包 [root@CentOS7 ~]# apt remove tree 列出仓库软件包 [root@CentOS ...

  6. 编译安装haproxy

    一.安装lua环境 1.1 安装依赖包 [root@centos7 ~]# yum install gcc readline-devel 1.2 下线lua源码包并解压 [root@centos7 ~ ...

  7. python基础语法_闭包详解

    https://www.cnblogs.com/Lin-Yi/p/7305364.html 闭包有啥用??!! 很多伙伴很糊涂,闭包有啥用啊??还这么难懂!  3.1装饰器!!!装饰器是做什么的??其 ...

  8. python的format

    python的format 就是一个参数传递+格式化的过程 参数传递 1.位置传递,默认 fmt = "{} {}" fmt.format("hello",&q ...

  9. MyBatis封装JDBC具体实现

    关于xml等解析的工具基本均包含在org.apache.ibatis.builder包中,有包名可知基本使用建造者模式.这个包的主要功能两个: 1.解析XML配置文件和映射文件,xml子包中: 2.解 ...

  10. ASP.NET Core 6框架揭秘-实例演示版[持续更新中…]

    作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...