没意思啊

题意:求 \(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 所以看了题解,把常用的三个质数特判了一下(

  1. #include<cstdio>
  2. const int M=1e6+5,mod=998244353;
  3. int k,ans=1,top,inv[75],pri[M];bool zhi[M];
  4. long long x,n;
  5. inline int Add(const int&a,const int&b){
  6. return a+b>=mod?a+b-mod:a+b;
  7. }
  8. inline int Del(const int&a,const int&b){
  9. return b>a?a-b+mod:a-b;
  10. }
  11. inline void sieve(const int&M){
  12. register int i,j,x;
  13. for(i=2;i<=M;++i){
  14. if(!zhi[i])pri[++top]=i;
  15. for(j=1;(x=i*pri[j])<=M;++j){
  16. zhi[i]=true;
  17. if(!(i%pri[j]))break;
  18. }
  19. }
  20. pri[++top]=mod;pri[++top]=1e9+7;pri[++top]=1e9+9;
  21. }
  22. inline int calc(const int&n){
  23. register int i,ans=1;
  24. for(i=1;i<=n;++i)ans=1ll*ans*inv[i]%mod*Del(Add(n+2,k),i)%mod;
  25. return ans;
  26. }
  27. signed main(){
  28. register int i,cnt;
  29. scanf("%lld%lld",&n,&x);k=x%mod;
  30. sieve(1e6);inv[1]=1;
  31. for(i=2;i<=70;++i)inv[i]=1ll*(mod-mod/i)*inv[mod%i]%mod;
  32. for(i=1;i<=top&&1ll*pri[i]*pri[i]<=n;++i){
  33. if(n%pri[i])continue;cnt=0;
  34. while(!(n%pri[i]))n/=pri[i],++cnt;
  35. ans=1ll*ans*calc(cnt)%mod;
  36. }
  37. if(n>1)ans=1ll*ans*calc(1)%mod;
  38. printf("%d",ans);
  39. }

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. Spring Boot一些基础配置

    1.定制banner,Spring Boot项目在启动的时候会有一个默认的启动图案: . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ...

  2. SpringBoot自动配置的魔法

    Spring自动配置 从@SpringBootApplication注解说起 SpringBoot会根据类路径下的类自动配置,省去了编写繁琐的xml配置文件.原本基于xml配置bean的方式编程基于J ...

  3. Solution -「LOCAL」逃生

    \(\mathcal{Description}\)   有 \(n\) 个人掉进了深度为 \(h\) 的坑里,第 \(i\) 个人的肩高为 \(a_i\),臂长为 \(b_i\).设当前坑里人的集合为 ...

  4. suse 12 二进制部署 Kubernetets 1.19.7 - 第07章 - 部署kube-controller-manager组件

    文章目录 1.7.部署kube-controller-manager 1.7.0.创建kube-controller-manager请求证书 1.7.1.生成kube-controller-manag ...

  5. 【论文考古】联邦学习开山之作 Communication-Efficient Learning of Deep Networks from Decentralized Data

    B. McMahan, E. Moore, D. Ramage, S. Hampson, and B. A. y Arcas, "Communication-Efficient Learni ...

  6. JAVA8学习——从使用角度深入Stream流(学习过程)

    Stream 流 初识Stream流 简单认识一下Stream:Stream类中的官方介绍: /** * A sequence of elements supporting sequential an ...

  7. CentOS7安装及配置 Zabbix全步骤,超详细教程

    服务器太多,还在不同的平台和账户,监控不便 整个 Zabbix 监控,开始吧 一.关闭防火墙并开机不启动 sudo setenforce 0 sudo sed -i "s/SELINUX=e ...

  8. vue--vue-router 组件映射到路由

    前言 地址栏路由的发展经历了后端路由配置阶段.前后端分离阶段.直至单页面富应用阶段.本文来总结一下 vue-router 的相关知识点和用法. 正文 1.什么是 vue-router 路由 路由就是S ...

  9. Linux下的Tmux分屏操作

    Linux中,我们使用命令行的时候,一个窗口只能使用一个命令行,若是需要使用多个输入位置进行操作,那么只能多开几个窗口,今天介绍一款软件,可以让我们在一个窗口使用多个输入行,先来效果图展示下 Linu ...

  10. 【C#基础概念】程序集清单

    .NET Core 程序集(模块)还包含描述程序集本身的元数据,我们称之为清单.清单记录了当前程序集正常运行所需的所有外部程序集.程序集的版本号.版权信息.模块 .资源(图片 xml等)等.与类型元数 ...