LGP4714题解
没意思啊
题意:求 \(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题解的更多相关文章
- 2016 华南师大ACM校赛 SCNUCPC 非官方题解
我要举报本次校赛出题人的消极出题!!! 官方题解请戳:http://3.scnuacm2015.sinaapp.com/?p=89(其实就是一堆代码没有题解) A. 树链剖分数据结构板题 题目大意:我 ...
- noip2016十连测题解
以下代码为了阅读方便,省去以下头文件: #include <iostream> #include <stdio.h> #include <math.h> #incl ...
- BZOJ-2561-最小生成树 题解(最小割)
2561: 最小生成树(题解) Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1628 Solved: 786 传送门:http://www.lyd ...
- Codeforces Round #353 (Div. 2) ABCDE 题解 python
Problems # Name A Infinite Sequence standard input/output 1 s, 256 MB x3509 B Restoring P ...
- 哈尔滨理工大学ACM全国邀请赛(网络同步赛)题解
题目链接 提交连接:http://acm-software.hrbust.edu.cn/problemset.php?page=5 1470-1482 只做出来四道比较水的题目,还需要加强中等题的训练 ...
- 2016ACM青岛区域赛题解
A.Relic Discovery_hdu5982 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Jav ...
- poj1399 hoj1037 Direct Visibility 题解 (宽搜)
http://poj.org/problem?id=1399 http://acm.hit.edu.cn/hoj/problem/view?id=1037 题意: 在一个最多200*200的minec ...
- 网络流n题 题解
学会了网络流,就经常闲的没事儿刷网络流--于是乎来一发题解. 1. COGS2093 花园的守护之神 题意:给定一个带权无向图,问至少删除多少条边才能使得s-t最短路的长度变长. 用Dijkstra或 ...
- CF100965C题解..
求方程 \[ \begin{array}\\ \sum_{i=1}^n x_i & \equiv & a_1 \pmod{p} \\ \sum_{i=1}^n x_i^2 & ...
随机推荐
- 关于IBAction、IBOutlet前缀IB的解释
- 全称:Interface Builder - 以前的UI界面开发模式:Xcode3 + Interface Builder - 从Xcode4开始,Interface Builder已经整合到Xc ...
- K8s二进制部署单节点 etcd集群,flannel网络配置 ——锥刺股
K8s 二进制部署单节点 master --锥刺股 k8s集群搭建: etcd集群 flannel网络插件 搭建master组件 搭建node组件 1.部署etcd集群 2.Flannel 网络 ...
- MSTP多生成树协议
MSTP多生成树协议 目录 MSTP多生成树协议 1.MSTP(Multiple Spanning Tree Protocol)概述 2.STP.RSTP.PVST的应用缺陷 3.MSTP的主要特点 ...
- .netcore基础知识(一)
先来说说web服务器 先来一张图 一个典型的进程外托管模型 我们先看kestrel这一部分 我们在它前面放了一个方向代理服务器nginx 对http请求做预处理 kestrel本身是可以直接用作we ...
- 列出ubuntu软件管理工具apt的一些用法(自由总结)
安装软件包 [root@CentOS7 ~]#apt install tree 删除软件包 [root@CentOS7 ~]# apt remove tree 列出仓库软件包 [root@CentOS ...
- 编译安装haproxy
一.安装lua环境 1.1 安装依赖包 [root@centos7 ~]# yum install gcc readline-devel 1.2 下线lua源码包并解压 [root@centos7 ~ ...
- python基础语法_闭包详解
https://www.cnblogs.com/Lin-Yi/p/7305364.html 闭包有啥用??!! 很多伙伴很糊涂,闭包有啥用啊??还这么难懂! 3.1装饰器!!!装饰器是做什么的??其 ...
- python的format
python的format 就是一个参数传递+格式化的过程 参数传递 1.位置传递,默认 fmt = "{} {}" fmt.format("hello",&q ...
- MyBatis封装JDBC具体实现
关于xml等解析的工具基本均包含在org.apache.ibatis.builder包中,有包名可知基本使用建造者模式.这个包的主要功能两个: 1.解析XML配置文件和映射文件,xml子包中: 2.解 ...
- ASP.NET Core 6框架揭秘-实例演示版[持续更新中…]
作为<ASP.NET Core 3框架揭秘>的升级版,<ASP.NET Core 6框架揭秘>提供了很多新的章节,同时对现有的内容进行大量的修改.虽然本书旨在对ASP.NET ...