Description

给出A,B,考虑所有满足l<=a<=A,l<=b<=B,且不存在n>1使得n^2同时整除a和b的有序数
对(a,b),求其lcm(a,b)之和。答案模2^30。

Input

第一行一个整数T表示数据组数。接下来T行每行两个整数A,B表示一组数据。
T ≤ 2000,A,B ≤ 4 × 10^6

Output

对每组数据输出一行一个整数表示答案模2^30的值

Sample Input

5
2 2
4 6
3 4
5 1
23333 33333

Sample Output

7
148
48
15
451085813
 
 
好久没更过博客惹……
这题的话肯定是先式子一波推辣!
$ \sum_{i=1}^{A}\sum_{j=1}^{B} [gcd(i,j)无平方因子] lcm(i,j) $
$ =\sum_{i=1}^{A}\sum_{j=1}^{B} μ(gcd(i,j))^2 \frac{i*j}{gcd(i,j)} $
$ =\sum_{d=1}^{A} μ(d)^2*d \sum_{i=1}^{\left\lfloor\frac{A}{d}\right\rfloor} \sum_{j=1}^{\left\lfloor\frac{B}{d}\right\rfloor} [gcd(i,j)==1] i*j $
$ =\sum_{d=1}^{A} μ(d)^2*d \sum_{D=1}^{\left\lfloor\frac{A}{d}\right\rfloor} μ(D)*D^2*f(\left\lfloor\frac{A}{d*D}\right\rfloor)*f(\left\lfloor\frac{B}{d*D}\right\rfloor) $
其中$f(x)=\frac{x(x+1)}{2}$
(诶,这式子可以看吧……
 
一开始就推到这里,感觉复杂度$O(n^{\frac{2}{3}})$应该差不多,然后就交了两发T……
回来继续推式子吧。
发现与A,B相关的项都只与$d*D$有关,那么试着预处理出每个$d*D$的系数,暴力$Aln(A)$预处理,答案可以$\sqrt{A}$的复杂度计算。这样一来所有计算都在预处理上了,交了一发31s卡了过去。
可是这样不优雅!
发现预处理出的系数数组其实是两个积性函数的卷积,那么它也是个积性函数。
打一下表找到质数及其幂位置的规律然后就可以辣,8.6s!
写完感觉这题好良心,用多组数据限制A和B的大小,如果只有单组数据然后A和B很大似乎就得想办法杜教筛或者洲阁筛了呢。
式子都在上边我就不丢代码惹……

BZOJ:4659&&BZOJ:2694: Lcm的更多相关文章

  1. 【BZOJ】【2694】Lcm

    数论/莫比乌斯反演/线性筛 题解:http://www.cnblogs.com/zyfzyf/p/4218176.html JZPTAB的加强版?感觉线性筛好像还是不怎么会啊……sad 题目记下来,回 ...

  2. bzoj 2694: Lcm

    2694: Lcm Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 422  Solved: 220[Submit][Status][Discuss] ...

  3. ●BZOJ 2694 Lcm

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2694 题解: 莫比乌斯反演 不难看出,造成贡献的(i,j)满足gcd(i,j)无平方因子. ...

  4. [bzoj] 2694 Lcm || 莫比乌斯反演

    原题 定义整数a,b,求所有满足条件的lcm(a,b)的和: 1<=a<=A 1<=b<=B ∀n>1,n2†gcd(a,b)(即任意n>1,\(n^2\)不是gc ...

  5. BZOJ 2694: Lcm [莫比乌斯反演 线性筛]

    题意:求\(\sum\limits_{i=1}^n \sum\limits_{j=1}^m lcm(i,j)\ : gcd(i,j) 是sf 无平方因子数\) 无平方因子数?搞一个\(\mu(gcd( ...

  6. BZOJ 2694: Lcm 莫比乌斯反演 + 积性函数 + 线性筛 + 卡常

    求 $\sum_{i=1}^{n}\sum_{j=1}^{m}lcm(i,j)\mu(gcd(i,j))^2$   $\Rightarrow \sum_{d=1}^{n}\mu(d)^2\sum_{i ...

  7. BZOJ 3270 && BZOJ 1778 (期望DP && 高斯消元)

    BZOJ 3270 :设置状态为Id(x,y)表示一人在x,一人在y这个状态的概率. 所以总共有n^2种状态. p[i]表示留在该点的概率,Out[i]=(1-p[i])/Degree[i]表示离开该 ...

  8. BZOJ 2002 && BZOJ 2409 LCT && BZOJ 3282 初步练习

    #include <cstdio> ; inline void Get_Int(int & x) { ; ') ch=getchar(); +ch-'; ch=getchar(); ...

  9. BZOJ 3670 && BZOJ 3620 && BZOJ 3942 KMP

    最近感到KMP不会啊,以前都是背板的现在要理解了. #include <iostream> #include <cstring> #include <cstdio> ...

随机推荐

  1. 关键字中mysql数据库查询条件带中文无结果解决办法

    package keyword; import java.io.UnsupportedEncodingException; import java.sql.Connection; import jav ...

  2. 【CSS3】边框

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. php--php调java接口验签

    <?php namespace Fmall_cloud\Model; use Think\Model; class DealJavaModel extends Model { /** * @ti ...

  4. iOS动态性 运行时runtime初探(强制获取并修改私有变量,强制增加及修改私有方法等)

    借助前辈的力量综合一下资料. OC是运行时语言,只有在程序运行时,才会去确定对象的类型,并调用类与对象相应的方法.利用runtime机制让我们可以在程序运行时动态修改类.对象中的所有属性.方法,就算是 ...

  5. Intellj Idea使用tomcat部署不成功,死活也找不到解决办法的看这里

    Intellij 周六晚上开发一个简单web项目的,使用tomcat打包部署,死活也没法部署成功,和这个问题怼了6个小时,也没搞清楚具体为什么不能访问页面,但是好在最后还是找了个方法把问题解决了.以下 ...

  6. Java多线程之赛跑游戏

    在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...

  7. Quartz.Net 使用

    Quartz.NET  是一套很好的任务调度框架. 下面介绍如何使用: 在项目Nuget包管理器中搜索:quartz 安装后会添加如下dll: <packages> <package ...

  8. Angularjs 2 绝对零基础的教程(1):从安装配置开始

    写在前面 适合人群: 1. 愿意未来从事前端工作,并以此开拓自己未来职业 2. 有任何一种编程语言基础 3. 喜欢简单粗暴学一门实用的技术,而不是做科研. Angular 2 比 Angular 1 ...

  9. python 中一些关键字的区别

    一.raw_input 和input input和raw_input都可以读取控制台的输入,但是input和raw_input在处理数字时是有区别的 1.当输入为纯数字时 input返回的是数值类型, ...

  10. C#学习之设计模式:工厂模式

    最近研究一下设计模式中工厂模式的应用,在此记录如下: 什么是工厂模式? 工厂模式属于设计模式中的创造型设计模式的一种.它的主要作用是协助我们创建对象,为创建对象提供最佳的方式.减少代码中的耦合程度,方 ...