题目

多组询问求

\[\sum_{i=1}^n\sum_{j=1}^m{|\mu(\gcd(i,j))|*lcm(i,j)}\pmod {2^{30}}
\]

\(T\leq 10^4,n,m\leq 4*10^6\)


分析

设 \(f(n,m)=C(n+1,2)*C(m+1,2)\) ,

则根据Crash的数字表格类似的方法可以得到

\[\large \sum_{d=1}^{\min\{n,m\}}d\mu^2(d)\sum_{t=1}^{\min\{\lfloor\frac{n}{d}\rfloor,\lfloor\frac{m}{d}\rfloor\}}\mu(t)t^2*f(\lfloor\frac{n}{td}\rfloor,\lfloor\frac{m}{td}\rfloor)
\]

这样整除分块只能做到 \(O(\min\{n,m\})\),多组数据就不行了,

考虑维护 \(i=t*d\),则

\[\large =\sum_{i=1}^{\min\{n,m\}}f(\lfloor\frac{n}{i}\rfloor,\lfloor\frac{m}{i}\rfloor)*(i\sum_{d|i}\mu(d)d\mu^2(\frac{i}{d}))
\]

考虑 \(g(n)=\sum_{d|i}\mu(d)d\mu^2(\frac{i}{d})\) 是一个积性函数,

线性筛时只要质因子次数大于2时\(g(n)=0\),

否则若质因数次数等于2则\(g(n*p)=-g(n)*p\)

那就可以做到\(O(T\sqrt{\min\{n,m\}})\)了


代码

#include <cstdio>
#include <cctype>
#define rr register
using namespace std;
const int N=10000000;
const int mod=100000009;
typedef long long lll;
int f[N|15],prime[N|15],v[N|15],Cnt;
inline signed iut(){
rr int ans=0; rr char c=getchar();
while (!isdigit(c)) c=getchar();
while (isdigit(c)) ans=(ans<<3)+(ans<<1)+(c^48),c=getchar();
return ans;
}
inline void print(int ans){
if (ans>9) print(ans/10);
putchar(ans%10+48);
}
inline signed min(int a,int b){return a<b?a:b;}
inline lll answ(lll n,lll m){return (n*(n+1)>>1)%mod*((m*(m+1)>>1)%mod)%mod;}
inline signed mo(int x,int y){return x+y>=mod?x+y-mod:x+y;}
signed main(){
f[1]=1;
for (rr int i=2;i<=N;++i){
if (!v[i]) prime[++Cnt]=i,f[i]=mod-i+1;
for (rr int j=1;j<=Cnt&&prime[j]<=N/i;++j){
v[i*prime[j]]=1;
if (i%prime[j]==0){
f[i*prime[j]]=f[i];
break;
}
f[i*prime[j]]=1ll*f[i]*f[prime[j]]%mod;
}
}
for (rr int i=2;i<N;++i) f[i]=mo(f[i-1],1ll*f[i]*i%mod);
for (rr int T=iut();T;--T){
rr int n=iut(),m=iut(),ans=0;
if (n>m) n^=m,m^=n,n^=m;
for (rr int l=1,r;l<=n;l=r+1){
r=min(n/(n/l),m/(m/l));
ans=mo(ans,answ(n/l,m/l)*(f[r]-f[l-1]+mod)%mod);
}
print(ans),putchar(10);
}
return 0;
}

#莫比乌斯反演#BZOJ 2694 LCM的更多相关文章

  1. ●BZOJ 2694 Lcm

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

  2. 莫比乌斯反演 BZOJ 2820

    莫比乌斯反演真(TMD)难学.我自看了好长时间. BZOJ 2820: YY的GCD Time Limit: 10 Sec  Memory Limit: 512 MBSubmit: 1384  Sol ...

  3. bzoj 2694: Lcm

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

  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_{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 ...

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

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

  7. BZOJ:4659&&BZOJ:2694: Lcm

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

  8. [BZOJ 2154]Crash的数字表格(莫比乌斯反演+数论分块)

    [BZOJ 2154]Crash的数字表格(莫比乌斯反演+数论分块) 题面 求 \[\sum_{i=1}^{n} \sum_{j=1}^{m} \mathrm{lcm}(i,j)\] 分析 \[\su ...

  9. BZOJ 2154: Crash的数字表格 [莫比乌斯反演]

    2154: Crash的数字表格 Time Limit: 20 Sec  Memory Limit: 259 MBSubmit: 2924  Solved: 1091[Submit][Status][ ...

  10. 【莫比乌斯反演】关于Mobius反演与gcd的一些关系与问题简化(bzoj 2301 Problem b&&bzoj 2820 YY的GCD&&BZOJ 3529 数表)

    首先我们来看一道题  BZOJ 2301 Problem b Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd( ...

随机推荐

  1. 【Android逆向】滚动的天空中插入smali日志

    1. 编写一个MyLog.java 放到一个android工程下,编译打包,然后反编译拿到MyLog的smali代码 package com.example.logapplication; impor ...

  2. Java常用编程类库

    Java语言已经有许多非常成熟的开源基础类库,封装了日常开发中的各种常用操作,如:对象判空,字符串编码,本地缓存等等. 可以直接在项目中引入对应类库使用即可,或者参与完善相应类库的方法. 现将常用的基 ...

  3. Unity学习笔记--数据持久化XML文件(1)

    XML相关 Xml是可拓展标记语言,一种文件格式.我们使用xml来完成对数据持久化的存储.等待我们有一程序运行结束之后,将内存中的数据进行保存,(保存在硬盘/服务器)实现对数据的持久化存储. xml文 ...

  4. 简化Simulink的建模与模型重构

    简化Simulink的建模与模型重构 模型重构 Simulink作为汽车和自动化领域中经典的模型工程必备工具,不管是专业的汽车控制器的开发还是自动化控制的专业应用编程,都会使用到Simulink进行图 ...

  5. 【Azure 云服务】云服务(经典) 迁移至云服务(外延支持) 的相关疑问

    问题描述 根据微软官方文档说明,云服务(经典)已弃用.所以关于它有以下的一些疑问: 一:迁移时候的停机时间问题? 二:云服务(经典) 与 云服务(外延支持) 的区别是什么? 三:注意事项有那些呢?如 ...

  6. 一文上手图数据备份恢复工具 NebulaGraph BR

    作者:NebulaGraph 工程师 Kenshin NebulaGraph BR 开源已经有一段时间了,为了给社区用户提供一个更稳.更快.更易用的备份恢复工具,去年对其进行了比较大的重构.Nebul ...

  7. shell脚本中常用的自定义函数

    在Shell脚本中,你可以定义各种函数来执行不同的任务.以下是20个常用的自定义函数示例,涵盖了从文件操作.文本处理到系统监控等多个方面: 检查文件是否存在 file_exists() { [ -f ...

  8. stm32 fatfs 文件系统分析和代码解析

    一 文件系统: 文件系统是操作系统用于明确存储设备(常见的是磁盘,也有基于NAND Flash的固态硬盘)或分区上的文件的方法和数据结构:即在存储设备上组织文件的方法.操作系统中负责管理和存储文件信息 ...

  9. P2602 [ZJOI2010] 数字计数:数位DP

    https://www.luogu.com.cn/problem/P2602 // #include <iostream> // #include <iomanip> // # ...

  10. 01_Mac安装Homebrew

    目录 1 官方 1.1 前提 1.2 安装 2 其他安装方法 2.1 安装homebrew-core 2.2 安装homebrew-cask 3 源 3.1 查看源 3.2 设置源 3.3 设置bot ...