这道反演题,真牛逼。

  以下用$B$代表伯努利数,$l*g=f$代表狄利克雷卷积,先推式子。

  对于给出的$n,x,y$求一百组数据的$ans$

$\begin{array}{rcl} ans & = & \sum\limits_{i=1}^ngcd(i,n)^xlcm(i,n)^y\end{array}$

$\begin{array}{rcl} & = & \sum\limits_{i=1}^ngcd(i,n)^x\frac{(in)^y}{gcd(i,n)^y}\end{array}$

$\begin{array}{rcl} & = & \sum\limits_{i=1}^ngcd(i,n)^{x-y}(in)^y\end{array}$

$\begin{array}{rcl} & = & n^y\sum\limits_{i=1}^ni^ygcd(i,n)^{x-y}\end{array}$

$\begin{array}{rcl} & = & n^y\sum\limits_{d|n}d^{x-y} \sum \limits_{i=1}^{\lfloor \frac{n}{d} \rfloor} (id)^y[gcd(i,\lfloor\frac{n}{d} \rfloor)=1]\end{array}$

$\begin{array}{rcl} & = & n^y\sum\limits_{d|n}d^x\sum\limits_{i=1}^{\lfloor \frac{n}{d} \rfloor}i^y\sum\limits_{t|gcd(i,\lfloor \frac{n}{d} \rfloor)}\mu(t)\end{array}$

$\begin{array}{rcl} & = & n^y\sum\limits_{d|n}d^x\sum\limits_{t|\lfloor\frac{n}{d}\rfloor}\mu(t)t^y\sum\limits_{i=1}^{\lfloor\frac{n}{td}\rfloor}i^y\end{array}$

$\begin{array}{rcl}\sum\limits_{i=0}^{\lfloor\frac{n}{td}\rfloor}i^y & = & \frac{1}{y+1}\sum\limits_{i=0}^yC_{y+1}^iB_i(\lfloor\frac{n}{td}\rfloor)^{y-i+1}\end{array}$

$\begin{array}{rcl}R_i & = & \frac{C_{y+1}^iB_i}{y+1}\end{array}$

$\begin{array}{rcl}ans & = & n^y\sum\limits_{d|n}d^x\sum\limits_{t|\lfloor\frac{n}{d}\rfloor}\mu(t)t^y\sum\limits_{i=0}^yR_i(\lfloor\frac{n}{td}\rfloor)^{y-i+1}\end{array}$

$\begin{array}{rcl} & = & \sum\limits_{i=1}^yR_in^y\sum\limits_{d|n}d^x\sum\limits_{t|\lfloor\frac{n}{d}\rfloor}\mu(t)t^y(\lfloor\frac{n}{td}\rfloor)^{y-i+1}\end{array}$

$\begin{array}{rcl}f_{i,x,y}(n) & = & n^y\sum\limits_{d|n}d^x\sum\limits_{t|\lfloor\frac{n}{d}\rfloor}\mu(t)t^y(\lfloor\frac{n}{td}\rfloor)^{y-i+1}\end{array}$

分析$f_{i,x,y}(n)$。

$\begin{array}{rcl}l(x) & = & \mu(x)x^y \end{array}$

$\begin{array}{rcl}q_r(x) & = & x^r\end{array}$

$l,q$ 均为积性函数。

$\begin{array}{rcl} g(n) & = & \sum\limits_{d|n}\mu(d)d^yq(\lfloor\frac{n}{d}\rfloor)\end{array}$

$\begin{array}{rcl}g(n) & = & l(n)*q(n)\end{array}$

也为积性函数。

$\begin{array}{rcl}f(n) & = & \sum\limits_{d|n}q(d)g(\lfloor\frac{n}{d}\rfloor) \\ & = & q(n)*g(n) \end{array}$

所以$f_{i,x,y}(n)$是积性函数。

$\begin{array}{rcl}ans & = & \sum\limits_{i=0}^yR_if_{i,x,y}(n)\end{array}$

$n$为$1e18$考虑用$O(n^{1/4})$的$Pollard_Rho$算法对$n$进行质因分解。

$n=\_p^c$

$\begin{array}{rcl}f_{i,x,y}(p^c) & = & p^{cy}\sum\limits_{d|p^c}\sum\limits_{t|\lfloor\frac{p^c}{d}\rfloor}\mu(t)t^y(\lfloor\frac{p^c}{td}\rfloor)^{y-i+1}\end{array}$

$\begin{array}{rcl} & = & p^{cy}\sum\limits_{j=0}^cp^{jx}\sum\limits_{k=0}^{c-j}\mu(p^k)p^{ky}(p^{c-j-k})^{y-i+1}\end{array}$

当k=1或者0的时候,莫比乌斯函数不为0。

$\begin{array}{rcl} & = & p^{cy}\sum\limits_{j=0}^c p^{jx}[(p^{c-j})^{y-i+1}-p^y(p^{c-j-1})^{y-i+1}]\end{array}$

问题得到解决。

知识点:

莫比乌斯反演

狄利克雷卷积

积性函数

自然数幂和

伯努利数

$Miller\_Rabin$素数测试

$Pollard\_Rho$质因数分解

费马小定理

二次初探原理

生日悖论

有兴趣的可以尝试一下,是道好题。

「刷题」JZPKIL的更多相关文章

  1. 「刷题」THUPC泛做

    刷了一下,写一下. T1. 天天爱射击 可以这样想. 我们二分一下每一块木板在什么时刻被击碎. 然后直接用主席树维护的话是\(O(nlog^2n)\)的. 会\(T\),而且是一分不给那种... 那么 ...

  2. 「刷题」Triple

    正解是普通型母函数+FFT. 才学了多项式,做了一道比较好的题了. 首先有三个斧子被偷了. 我们考虑构造一种普通型母函数. 就是说一种多项式吧,我的理解. 系数是方案,下标,也就是所谓的元指数代表的是 ...

  3. 「刷题」xor

    说实话这道题没有A掉,不过所有的思路都是我自己想的,我觉得这个思路真的很棒很棒很棒的. 首先这个题的题面描述告诉我这种运算有封闭性,满足结合律和交换率,那么其实这个东西是个群运算了,而且这个群有单位元 ...

  4. 「刷题」GERALD07加强版

    是LCT了. 首先我们不知道联通块怎么数. 然后颓标签知道了是LCT. 那么考虑一下怎么LCT搞. 有一个很普遍的思路大家也应该都知道,就是如何求一个区间中某种颜色的个数. 这个可以很简单的用主席树来 ...

  5. 「刷题」可怜与STS

    又是一道假期望,我们发现一共有$ C_{2n}^m $种情况. 而$ \frac{(2n)!}{m!(2n-m)!}=C_{2n}^m $ 其实结果就是各个情况总伤害. 1.10分算法,爆搜10分. ...

  6. 「刷题」Color 群论

    这道题乍一看挺水的,直接$ Ploya $就可以了,可是再看看数据范围:n<=1e9 那就是有1e9种置换,这不歇比了. 于是考虑式子的优化. 首先证明,转i次的置换的每个循环结大小是 $ gc ...

  7. 「刷题」卡特兰数&prufer序列

    1.网格 转换模型,翻折容斥出解. 2.有趣的数列 抽象一下模型,把奇数项当作横坐标,偶数项当作纵坐标,就是从n*n矩阵左下角走到右上角并且每一步x<=y的方案数,发现是卡特兰数,关于gcd,可 ...

  8. 「刷题笔记」AC自动机

    自动AC机 Keywords Research 板子题,同luoguP3808,不过是多测. 然后多测不清空,\(MLE\)两行泪. 板子放一下 #include<bits/stdc++.h&g ...

  9. 「刷题笔记」DP优化-状压-EX

    棋盘 需要注意的几点: 题面编号都是从0开始的,所以第1行实际指的是中间那行 对\(2^{32}\)取模,其实就是\(unsigned\ int\),直接自然溢出啥事没有 棋子攻击范围不会旋转 首先, ...

随机推荐

  1. (4)一起来看下mybatis框架的缓存原理吧

    本文是作者原创,版权归作者所有.若要转载,请注明出处.本文只贴我觉得比较重要的源码,其他不重要非关键的就不贴了 我们知道.使用缓存可以更快的获取数据,避免频繁直接查询数据库,节省资源. MyBatis ...

  2. sublime text2解决中文乱码,支持中文的设置方法

    步骤: 1.安装Sublime Package Control.        在Sublime Text 2上用Ctrl+-打开控制台并在里面输入以下代码,Sublime Text 2就会自动安装P ...

  3. MacOS 安装MysqlDB 问题解决方案( 解决 IndexError: string index out of range)

    pip install MySQL-python时报错如下: Command "python setup.py egg_info" failed with error code 1 ...

  4. Flask中多APP应用以及admin后台系统

    一.多APP from werkzeug.wsgi import DispatcherMiddleware from werkzeug.serving import run_simple from f ...

  5. call,apply和bind详解

    一.call和apply call和apply其实是同一个东西,区别只有参数不同,call是apply的语法糖,所以就放在一起说了,这两个方法都是定义在函数对象的原型上的(Function.proto ...

  6. [Luogu3797] 妖梦斩木棒

    题目背景 妖梦是住在白玉楼的半人半灵,拥有使用剑术程度的能力. 题目描述 有一天,妖梦正在练习剑术.地面上摆放了一支非常长的木棒,妖梦把它们切成了等长的n段.现在这个木棒可以看做由三种小段构成,中间的 ...

  7. SDRAM

    环境:STM32F769discovery板  SDRAM芯片:用的MT48LC4M32B2B5-6A 16Mbyte (sdram和flash一般标的容量都是bit) 硬件图:   第一步 配置FM ...

  8. 【Labview入门】将输入度数转换为3位精度弧度值

    Labview版本2015 程序如下: 可以右键输出控件选择属性来调整输出的小数位数: 运行结果:

  9. Electron开发跨平台桌面程序入门教程

    最近一直在学习 Electron 开发桌面应用程序,在尝试了 java swing 和 FXjava 后,感叹还是 Electron 开发桌面应用上手最快.我会在这一篇文章中实现一个HelloWord ...

  10. python函数与异常处理

    一.python函数 1.函数自定义格式: 分为有无返回值两种类型 def 函数名(): 代码语句 -------- -------- return 参数1,(参数2等)--------------- ...