「刷题」JZPKIL
这道反演题,真牛逼。
以下用$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的更多相关文章
- 「刷题」THUPC泛做
刷了一下,写一下. T1. 天天爱射击 可以这样想. 我们二分一下每一块木板在什么时刻被击碎. 然后直接用主席树维护的话是\(O(nlog^2n)\)的. 会\(T\),而且是一分不给那种... 那么 ...
- 「刷题」Triple
正解是普通型母函数+FFT. 才学了多项式,做了一道比较好的题了. 首先有三个斧子被偷了. 我们考虑构造一种普通型母函数. 就是说一种多项式吧,我的理解. 系数是方案,下标,也就是所谓的元指数代表的是 ...
- 「刷题」xor
说实话这道题没有A掉,不过所有的思路都是我自己想的,我觉得这个思路真的很棒很棒很棒的. 首先这个题的题面描述告诉我这种运算有封闭性,满足结合律和交换率,那么其实这个东西是个群运算了,而且这个群有单位元 ...
- 「刷题」GERALD07加强版
是LCT了. 首先我们不知道联通块怎么数. 然后颓标签知道了是LCT. 那么考虑一下怎么LCT搞. 有一个很普遍的思路大家也应该都知道,就是如何求一个区间中某种颜色的个数. 这个可以很简单的用主席树来 ...
- 「刷题」可怜与STS
又是一道假期望,我们发现一共有$ C_{2n}^m $种情况. 而$ \frac{(2n)!}{m!(2n-m)!}=C_{2n}^m $ 其实结果就是各个情况总伤害. 1.10分算法,爆搜10分. ...
- 「刷题」Color 群论
这道题乍一看挺水的,直接$ Ploya $就可以了,可是再看看数据范围:n<=1e9 那就是有1e9种置换,这不歇比了. 于是考虑式子的优化. 首先证明,转i次的置换的每个循环结大小是 $ gc ...
- 「刷题」卡特兰数&prufer序列
1.网格 转换模型,翻折容斥出解. 2.有趣的数列 抽象一下模型,把奇数项当作横坐标,偶数项当作纵坐标,就是从n*n矩阵左下角走到右上角并且每一步x<=y的方案数,发现是卡特兰数,关于gcd,可 ...
- 「刷题笔记」AC自动机
自动AC机 Keywords Research 板子题,同luoguP3808,不过是多测. 然后多测不清空,\(MLE\)两行泪. 板子放一下 #include<bits/stdc++.h&g ...
- 「刷题笔记」DP优化-状压-EX
棋盘 需要注意的几点: 题面编号都是从0开始的,所以第1行实际指的是中间那行 对\(2^{32}\)取模,其实就是\(unsigned\ int\),直接自然溢出啥事没有 棋子攻击范围不会旋转 首先, ...
随机推荐
- .Net Core上传文件到服务器
/// <summary> /// 上传文件 /// </summary> /// <returns></returns> [HttpPost(&quo ...
- 使用低版本的VS打开高版本项目的解决方案(以VS2008打开VS2010开发的项目为例)
使用低版本的VS打开高版本项目的解决方案,这里以VS2008打开VS2010开发的项目为例. 右键项目的sln文件以记事本的方式打开: 将对应的前两列版本各降到对应的版本,这边的11.00改为10.0 ...
- 学以致用,通过字节码理解:Java的内部类与外部类之私有域访问
目录: 内部类的定义及用处 打开字节码理解内部类 一.内部类的定义及用处 内部类(inner class)是定义在另一个类中的类.使用内部类,我们可以: 访问该类定义所在的作用域中的数据,包括私有的数 ...
- maven更新慢,改用国内镜像地址
方法很简单: 在 maven根目录 > conf > settings.xml 中 <mirrors>里添加以下子节点: <mirror> <id>al ...
- Jenkins部署(基于windows)
一.安装jdk,配置环境变量 二.安装tomcat和jenkins 1.检查电脑上8080端口是否被占用: 命令行中输入:netstat -ano 2.下载Tomcat Tomcat官方网站:http ...
- 白话系列之实现自己简单的mvc式webapi框架
前言:此文为极简mvc式的api框架,只当做入门api的解析方式,并且这里也不算是mvc框架,因为没有view层,毕竟现在大部分都属于前后端分离,当然也可以提供view层,因为只是将view当做文本返 ...
- 【Java 基础】谈谈集合.List
目录 1. ArrayList 1.1 ArrayList的构造 1.2 add方法 1.3 remove方法 1.4 查询方法 1.5 一些其他常用方法 1.6 ArrayList小结 2. Vec ...
- CentOS 7.6 Telnet服务搭建(Openssh升级之战 第一任务备用运输线搭建)
(以下内容亲手完成,如果需要搬走记得把写博的小白的名字和邮箱一起搬走) 出来玩(学习),总是要还的! 有不明的问题的时候,都来博客园转转,总能找到答案或者灵感,开博3个月都没发一篇帖(不晓得管理员有何 ...
- 程序猿的产品思考:2C与2B产品思维的区别
原创/朱季谦 我最早接触到互联网产品的时候,听到最多的,是做产品要有用户思维,即站在用户角度去看待产品.这个先入为主的概念,在很长一段时间里,都被我效作经典.然而也在很长一段时间里,我竟混淆了其中 ...
- selenium驱动chrome浏览器问题
selenium是一个浏览器自动化测试框架,以下介绍其如何驱动chrome浏览器? 1.下载与本地chrome版本对应的chromedriver.exe ,下载地址为http://npm.taobao ...