$BZOJ$2818 $gcd$ 莫比乌斯反演/欧拉函数
正解:莫比乌斯反演/欧拉函数
解题报告:
一步非常显然的变形,原式=$\sum_{d=1,d\in prim}^{n}\sum_{i=1}^{n}\sum_{j=1}^{n}[gcd(i,j)==d]$
后面那个就莫比乌斯反演入门题辣$QwQ$?
就变成$\sum_{p=1}^{n}[p\mbox{为质数}]\sum_{d=1}^{n/p}\mu(d)\lfloor \frac {n/p}{d}\rfloor^2$
十分套路的,后面显然可以数论分块,就变成了$\sum_{p=1}^{n}[p\mbox{为质数}] cal(\lfloor\frac{n}{p}\rfloor)$
于是前面就也能数论分块?考虑再前缀和一个质数个数.然后把前面也数论分块.
也就做两次数论分块,然后复杂度是$O(n)$的$QwQ$
$over$!
然后另一个方法其实$easy$蛮多$QwQ$
你考虑到化出的第一个式子去,显然能想到变形成$\sum_{d=1,d\in prim}^{n}\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}[gcd(i,j)==1]$
看到后面这个,联想到欧拉函数,发现$\sum_{i=1}^{\lfloor\frac{n}{d}\rfloor}\sum_{j=1}^{\lfloor\frac{n}{d}\rfloor}[gcd(i,j)==1]$的答案其实也就$\lfloor\frac{n}{d}\rfloor$内的欧拉函数前缀和乘二减一?(乘二是因为交换顺序嘛,减一是因为算重了$(1,1)$这一对嘛$QwQ$
就$easy$些$QwQ$
代码可以去看加强版
随机推荐
- 使用 Captcha 扩展包 为 Laravel 5 应用生成验证码
http://laravelacademy.org/post/3910.html 1.安装 我们通过 Composer 安装 Captcha 扩展包: composer require mews/ca ...
- 13-4 jquery操作标签(文本,属性,class,value)
一 文本操作 $().html() $().text() 文本赋值操作 $().html("") $().text("") 二 属性操作 $().attr(属性 ...
- 基于 springMVC 的 RESTful HTTP API 实践(服务端)
理解 REST REST(Representational State Transfer),中文翻译叫"表述性状态转移".是 Roy Thomas Fielding 在他2000年 ...
- 模板—BSGS
#include<iostream> #include<cstdio> #include<cmath> #include<map> #define LL ...
- H3C 以太网流量控制
- Codeforces Round #340 (Div. 2) B. Chocolate
题意:一段01串 分割成段 每段只能有一个1 问一段串有多少种分割方式 思路:两个1之间有一个0就有两种分割方式,然后根据分步乘法原理来做. (不过这里有一组0 1 0这种数据的话就不好直接处理,所以 ...
- 《Spring 5官方文档》 Spring AOP的经典用法
原文链接 在本附录中,我们会讨论一些初级的Spring AOP接口,以及在Spring 1.2应用中所使用的AOP支持. 对于新的应用,我们推荐使用 Spring AOP 2.0来支持,在AOP章节有 ...
- java接口和抽象类的比较
相同点: 都位于继承的顶端,用于被其他实现或继承; 都不能实例化; 都包含抽象方法,其子类都必须覆写这些抽象方法; 区别: 抽象类为部分方法提供实现,避免子类重复实现这些方法,提供代码重用性;接口 ...
- H5 操作class 类样式
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- vue-上传文件
<label for="exampleInputFile">头像</label> <img :src=" imgsrc != '' ? im ...