真·简单题

题目大意

给定 \(n\) 和 \(k\),求出这个柿子的值:

\[\sum_{i=1}^n\sum_{j=1}^n(i+j)^k\mu^2(\gcd(i,j)gcd(i,j)
\]

按照莫反的套路,我们枚举 \(\gcd\):

\[\sum_{d=1}^n d \sum_{i=1}^n\sum_{j=1}^n[\gcd(i,j)=d]\mu^2(d)(i+j)^k
\]
\[\sum_{d=1}^n \mu^2(d)d \sum_{i=1}^{\lfloor \frac n d \rfloor}\sum_{j=1}^{\lfloor \frac n d \rfloor}[\gcd(i,j)=1]d^k(i+j)^k
\]

来一发反演:

\[\sum_{d=1}^n\mu^2(d)d^{k+1}\sum_{i=1}^{\lfloor \frac n d \rfloor}\sum_{j=1}^{\lfloor \frac n d \rfloor}(i+j)^k\sum_{x|i \And x|j}\mu(x)
\]
\[\sum_{d=1}^n\mu^2(d)d^{k+1}\sum_{x=1}^{\lfloor \frac n d \rfloor}\mu(x)\sum_{i=1}^{\lfloor \frac n d \rfloor}\sum_{j=1}^{\lfloor \frac n d \rfloor}x^k(i+j)^k
\]
\[\sum_{d=1}^n \mu^2(d)d^{k+1}\sum_{x=1}^{\lfloor \frac n d \rfloor}\mu(x)x^k\sum_{i=1}^{\lfloor \frac n {dx} \rfloor}\sum_{j=1}^{\lfloor \frac n {dx} \rfloor}(i+j)^k
\]

设 \(f(n) = \sum_{i=1}^n\sum_{j=1}^n(i+j)^k\)

\[\sum_{d=1}^n\mu^2(d)d^{k+1}\sum_{x=1}^{\lfloor \frac n d \rfloor}\mu(x)x^kf(\frac n {dx})
\]

再考虑套路,令 \(T = dx\):

\[\sum_{T=1}^n \sum_{x|T}\mu(x)x^k\mu^2(\frac T x)(\frac T x)^{k+1}f(\frac n T)
\]
\[\sum_{T=1}^nT^kf(\frac n T)\sum_{x|T}\mu(x)\mu^2(\frac T x)id(\frac T x)
\]

后面的部分明显是狄利克雷卷积的形式

\[\sum_{T=1}^nT^kf(\frac n T)((id·\mu^2) * \mu)(T)
\]

然后我们来考虑 \(f\):

\[\sum_{i=1}^n\sum_{j=1}^n(i+j)^k
\]

经过 简单 复杂的推导后,发现它等于:

\[\sum_{i=1}^{2n}\min(i,2n-i) \times i^k
\]

我们再设:

\[S(n)=\sum_{i=1}^n i^k
\]
\[sum(n)=\sum_{i=1}^nS(i)
\]

就会发现:

\[f(n) = sum(2n)-2 \times sum(n)
\]

然后我们来考虑这个毒瘤的积性函数:

\[F=((id · \mu^2) * \mu)
\]

虽然可以 \(O(n\log n)\) 暴力预处理,但是显然会 \(\rm TLE\),由于这是一个积性函数,考虑对其线性筛。

\[F(p) = ((id(p) \times \mu^2(p)) * \mu(1) ) + ((id(1) \times \mu^2(1)) * \mu(p) = p - 1
\]
\[F(p^2) = ((id(p^2) \times \mu^2(p^2)) * \mu(1) ) + ((id(p) \times \mu^2(p)) * \mu(p) + ((id(1) \times \mu^2(1)) * \mu(p^2) = 0 - p + 0 = -p
\]

因为鸽笼原理,\(F(p^e) (3 \leq e )\) 中,要么 \(\mu^2(p^k)\) 是 \(0\)(即 \(id(p^k) \times \mu^2(p^k)\) 是 \(0\)),要么 \(\mu(p^{e-k})\) 是 \(0\),即 \(F(p^e) = 0 (3 \leq e)\)

那么我们就可以线性筛 \(F\) 了。

然后来考虑 \(S\) 和 \(sum\),容易发现 \(S\) 其实就是 \(id^k\) 的前缀和,所以能够线性筛,那么 \(sum\) 也可以在线性时间内预处理。

复杂度:预处理 \(O(n)\),询问 \(O(\sqrt n)\)。

code:

#include<cstdio>
const int M=1e7+5,mod=998244353;
int n,k,top,f[M],sum[M],pri[M],zhi[M];
inline int Add(const int&a,const int&b){
return a+b>=mod?a+b-mod:a+b;
}
inline int pow(int a,int b){
int ans=1;
for(;b;b>>=1,a=1ll*a*a%mod)if(b&1)ans=1ll*a*ans%mod;
return ans;
}
void sieve(){
int i,j,x;
f[1]=sum[1]=zhi[1]=1;
for(i=2;i<=(n<<1);++i){
if(!zhi[i])pri[++top]=i,f[i]=i-1,sum[i]=pow(i,k);
for(j=1;j<=top&&(x=i*pri[j])<=(n<<1);++j){
zhi[x]=1;
sum[x]=1ll*sum[i]*sum[pri[j]]%mod;
if(i%pri[j]){
f[x]=1ll*f[i]*(pri[j]-1)%mod;
}
else{
if(i/pri[j]%pri[j])f[x]=1ll*f[i/pri[j]]*(mod-pri[j])%mod;
break;
}
}
}
for(i=1;i<=(n<<1);++i){
f[i]=Add(f[i-1],1ll*f[i]*sum[i]%mod);
sum[i]=Add(sum[i],sum[i-1]);
}
for(i=1;i<=(n<<1);++i)sum[i]=Add(sum[i-1],sum[i]);
}
inline int S(const int&n){
return (sum[n<<1]-(sum[n]<<1)%mod+mod)%mod;
}
signed main(){
int i,ans=0;
long long tmp;
scanf("%d%lld",&n,&tmp);
k=tmp%(mod-1);
sieve();
for(int L=1,R;L<=n;L=R+1){
R=n/(n/L);
ans=Add(ans,1ll*(f[R]-f[L-1]+mod)%mod*S(n/L)%mod);
}
printf("%d",ans);
}

LGP6156题解的更多相关文章

  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. tomcat访问所有的资源,都是用Servlet来实现的

    感谢大佬:https://www.zhihu.com/question/57400909 tomcat访问所有的资源,都是用Servlet来实现的. 在Tomcat看来,资源分3种 静态资源,如css ...

  2. docker 网络概述及网络模式详解

    docker 网络概述及网络模式详解 1.网络概述 2.网络模式详解 1.网络概述: Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0) ...

  3. MySQL 日志管理及备份与恢复

    MySQL 日志管理及备份与恢复 1.日志管理 2.备份与恢复 1.日志管理: MySQL的默认日志保存位置为/usr/local/mysql/data 日志开启方式有两种:通过配置文件或者是通过命令 ...

  4. MySQL 索引、事务与存储引擎

               MySQL 索引.事务与存储引擎 1.索引 2.事务 3.存储引擎 1.索引: 索引的概念 : 索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址 ...

  5. netty系列之:真正的平等–UDT中的Rendezvous

    目录 简介 建立支持Rendezvous的服务器 处理不同的消息 节点之间的交互 总结 简介 在我们之前提到的所有netty知识中,netty好像都被分为客户端和服务器端两部分.服务器端监听连接,并对 ...

  6. Vue项目中实现文件下载到本地的功能

    公司业务需求,我需要实现一个合同模板,自定义输入内容后生成合同随后导出下载合同.(自定义部分用到的是) 为了实现这个文件下载到本地的功能,真的是废了九牛二虎之力,以至于差点放弃(主要还是自己菜).刚开 ...

  7. 一加6刷入kali nethunter

    Installing Kali NetHunter On the OnePlus 6 准备工具: adb: https://jingyan.baidu.com/article/22fe7cedf67e ...

  8. 敲出的第一个python程序

    学习python第二天,终于照猫画虎编辑出第一个程序.程序要求如下: 1.输入用户名.密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 源代码如下: username = 'jackson'pas ...

  9. Solution -「多校联训」轮回

    \(\mathcal{Description}\)   有 \(n\) 个黑盒,第 \(i\) 个黑盒可以让输入变量以 \(p_i\) 的概率保持不变,以 \(\frac{1-p_i}2\) 的概率加 ...

  10. python中函数isinstance()用来判断某个实例是否属于某个类

    1 print(isinstance(1,int)) # 运行结果 True 2 # 判断1是否为整数类的实例 3 print(isinstance(1,str)) # 运行结果 False4 # 判 ...