Description

Hint

T <= 10000
N, M<=10000000

 
https://wenku.baidu.com/view/fbec9c63ba1aa8114431d9ac.html
popoqqq的论文
 
 #pragma GCC optimize(2)
#pragma G++ optimzie(2)
#include<cstring>
#include<cmath>
#include<iostream>
#include<cstdio>
#include<algorithm> #define mod 100000009
#define N 10000007
#define ll long long
using namespace std;
inline int read()
{
int x=,f=;char ch=getchar();
while(!isdigit(ch)){if(ch=='-')f=-;ch=getchar();}
while(isdigit(ch)){x=(x<<)+(x<<)+ch-'';ch=getchar();}
return x*f;
} int T,n,m;
int tot;
bool flag[N];
ll h[N],pri[N]; void init()
{
h[]=;
for (int i=;i<N;i++)
{
if(!flag[i])
{
pri[++tot]=i;
h[i]=(i-(ll)i*i)%mod;
}
for (int j=;j<=tot&&pri[j]*i<N;j++)
{
flag[pri[j]*i]=true;
if(i%pri[j]==)
{
h[pri[j]*i]=(pri[j]*h[i])%mod;
break;
}
else h[pri[j]*i]=(h[pri[j]]*h[i])%mod;
}
}
for (int i=;i<N;i++)
(h[i]+=h[i-])%=mod;
}
inline ll sum(ll x,ll y)
{
x%=mod,y%=mod;
x*=(x+),(x=x/)%=mod;
y*=(y+),(y=y/)%=mod;
return x*y%mod;
}
ll query(int n,int m)
{
ll res=;
if(n>m)swap(n,m);
for (int i=,last;i<=n;i=last+)
{
last=min(n/(n/i),m/(m/i));
res+=sum(n/i,m/i)*(h[last]-h[i-])%mod;
res%=mod;
}
return (res%mod+mod)%mod;
}
int main()
{
T=read(),init();
while(T--)
{
n=read(),m=read();
printf("%lld\n",query(n,m));
}
}

bzoj2693 莫比乌斯反演的更多相关文章

  1. 【BZOJ2693】jzptab(莫比乌斯反演)

    [BZOJ2693]jzptab(莫比乌斯反演) 题面 讨厌权限题,只能跑到别的OJ上交 和这题是一样的 多组数据 求\[\sum_{i=1}^n\sum_{j=1}^mlcm(i,j)\] 题解 前 ...

  2. 【bzoj2693】jzptab 莫比乌斯反演+线性筛

    题目描述 输入 一个正整数T表示数据组数 接下来T行 每行两个正整数 表示N.M 输出 T行 每行一个整数 表示第i组数据的结果 样例输入 1 4 5 样例输出 122 题解 莫比乌斯反演+线性筛 由 ...

  3. 【BZOJ2693】jzptab [莫比乌斯反演]

    jzptab Time Limit: 10 Sec  Memory Limit: 512 MB[Submit][Status][Discuss] Description   求 Input 第一行一个 ...

  4. bzoj2154(莫比乌斯反演)

    又是一道经典题. 1.学习了下O(n) 的做法. // // main.cpp // bzoj2154 // // Created by New_Life on 16/7/7. // Copyrigh ...

  5. [复习]莫比乌斯反演,杜教筛,min_25筛

    [复习]莫比乌斯反演,杜教筛,min_25筛 莫比乌斯反演 做题的时候的常用形式: \[\begin{aligned}g(n)&=\sum_{n|d}f(d)\\f(n)&=\sum_ ...

  6. 模板:数论 & 数论函数 & 莫比乌斯反演

    作为神秘奖励--?也是为了方便背. 所有的除法都是向下取整. 数论函数: \((f*g)(n)=\sum_{d|n}f(d)g(\frac{n}{d})\) \((Id*\mu)(n)=\sum_{d ...

  7. 莫比乌斯反演/线性筛/积性函数/杜教筛/min25筛 学习笔记

    最近重新系统地学了下这几个知识点,以前没发现他们的联系,这次总结一下. 莫比乌斯反演入门:https://blog.csdn.net/litble/article/details/72804050 线 ...

  8. hdu1695 GCD(莫比乌斯反演)

    题意:求(1,b)区间和(1,d)区间里面gcd(x, y) = k的数的对数(1<=x<=b , 1<= y <= d). 知识点: 莫比乌斯反演/*12*/ 线性筛求莫比乌 ...

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

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

随机推荐

  1. 详解MessageBox(),MsgBox函数的正确使用

    //或者使用chr(13),chr(10)效果一样 MsgBox "a"&chr(13)&"b"&chr(10)&"c ...

  2. 日期格式兼容iOS

    iOS不支持2016-02-11 12:21:12格式的日期 目前Safari可以支持的标准格式: MM-dd-yyyy yyyy/MM/dd MM/dd/yyyy MMMM dd, yyyy MMM ...

  3. InteliJ IDEA 设置eclipse快捷键

    从使用eclipse切换到intellij idea开发工具常常会伴随这快捷切换的困扰,今天写到将intellij idea快捷键设置为eclipse快捷的方式 步骤如下: file -> se ...

  4. hosts 文件的位置及作用

    一.位置 1.Window系统位置 C:\Windows\System32\drivers\etc 2.Linux系统位置 /etc/hosts 二.作用 综述:Hosts文件中指定了域名和IP地址的 ...

  5. 将Mnist手写数字库转化为图片形式 和标签形式

    Mnist 数据文件有两种,一种是图片文件,一种是标签文件,那么如何把他们解析出来呢? (1)解析图片文件 可以看出在train-images.idx3-ubyte中,第一个数为32位的整数(魔数,图 ...

  6. 笔记-爬虫-XPATH

    笔记-爬虫-XPATH 1.      xpath XPath是W3C的一个标准.它最主要的目的是为了在XML1.0或XML1.1文档节点树中定位节点所设计.目前有XPath1.0和XPath2.0两 ...

  7. 初见spark-03(高级算子)

    最近心情不是很好,但是需要调节自己,真的需要调节自己,还是要努力,这个世界有我喜欢的人,有我追求的人,也许真的是守的住寂寞,耐得住繁华吧. 不说别的了,今天我们来接受啊spark的高级算子的系列 1. ...

  8. 20145202马超 《Java程序设计》第八周学习总结

    第十四章 NIO与NIO2 NIO使用频道(channel)来衔接数据节点,对数据区的标记提供了clear(),rewind(),flip(),compact()等高级操作. 想要取得channel的 ...

  9. sql中给逗号分隔的查询结果替换单引号

    技术交流群:233513714 第一种方法: SELECT * FROM pay_inf_config a WHERE a.id IN ( SELECT REPLACE ( concat('''', ...

  10. python中全局变量的修改

    对于全局变量的修改,如果全局变量是int或者str,那么如果想要在函数中对函数变量进行修改,则需要先在函数内,声明其为global,再进行修改 如果是list或者dict则可以直接修改 a = 1 b ...