jzptab

【问题描述】

求:

多组询问

【输入格式】

一个正整数T表示数据组数

接下来T行 每行两个正整数 表示N、M

【输出格式】

T行 每行一个整数 表示第i组数据的结果

【样例输入】

1
4 5

【样例输出】

122

【数据范围】

T <= 10000
N, M<=10000000


题解:

即后面那个部分为 H[T],H[T]是积性函数,求详细证明的话将T和d展开为质因数次幂相乘的形式,考虑线性筛中枚举的质数与被筛数的性质即可

 #include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int maxn = 1e7 + ;
const int mod = 1e8 + ;
int cnt;
int h[maxn];
int pri[maxn];
int sum[maxn];
bool vis[maxn];
inline void Scan(int &x)
{
char c;
bool o = false;
while(!isdigit(c = getchar())) o = (c != '-') ? o : true;
x = c - '';
while(isdigit(c = getchar())) x = x * + c - '';
if(o) x = -x;
}
inline void Sieve()
{
h[] = ;
for(int i = ; i <= maxn; ++i)
{
if(!vis[i]) pri[++cnt] = i, h[i] = ((-(long long) i * i % mod) + mod + i) % mod;
for(int j = ; j <= cnt; ++j)
{
int s = pri[j];
long long k = (long long) i * s;
if(k > maxn) break;
vis[k] = true;
if(!(i % s))
{
h[k] = (long long) s * h[i] % mod;
break;
}
else h[k] = (long long) h[s] * h[i] % mod;
}
}
for(int i = ; i <= maxn; ++i) sum[i] = (sum[i - ] + h[i]) % mod;
}
inline int Sum(int n, int m)
{
return ((long long) n * (n + ) >> ) % mod * (((long long) m * (m + ) >> ) % mod) % mod;
}
inline int Mobius(int n, int m)
{
int res = , last = ;
if(n > m) swap(n, m);
for(int i = ; i <= n; i = last + )
{
last = min(n / (n / i), m / (m / i));
res = (res + (long long) Sum(n / i, m / i) * ((sum[last] - sum[i - ] + mod) % mod) % mod) % mod;
}
return res;
}
int main()
{
Sieve();
int n;
Scan(n);
int a, b;
while(n--)
{
Scan(a), Scan(b);
printf("%d\n", Mobius(a, b));
}
}

Crash的数字表格 BZOJ 2154 / jzptab BZOJ 2693的更多相关文章

  1. 【莫比乌斯反演】关于Mobius反演与lcm的一些关系与问题简化(BZOJ 2154 crash的数字表格&&BZOJ 2693 jzptab)

    BZOJ 2154 crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b ...

  2. [bzoj 2693] jzptab & [bzoj 2154] Crash的数字表格 (莫比乌斯反演)

    题目描述 TTT组数据,给出NNN,MMM,求∑x=1N∑y=1Mlim(x,y)\sum_{x=1}^N\sum_{y=1}^M lim(x,y)\newlinex=1∑N​y=1∑M​lim(x, ...

  3. 【BZOJ】【2154】Crash的数字表格

    莫比乌斯反演 PoPoQQQ讲义第4题 题解:http://www.cnblogs.com/jianglangcaijin/archive/2013/11/27/3446169.html 感觉两次sq ...

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

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

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

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

  6. 【BZOJ 2154】Crash的数字表格 (莫比乌斯+分块)

    2154: Crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b)表示能 ...

  7. Bzoj 2154: Crash的数字表格(积性函数)

    2154: Crash的数字表格 Time Limit: 20 Sec Memory Limit: 259 MB Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least ...

  8. 2154: Crash的数字表格

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

  9. 洛谷 P1829 [国家集训队]Crash的数字表格 / JZPTAB 解题报告

    [国家集训队]Crash的数字表格 / JZPTAB 题意 求\(\sum\limits_{i=1}^n\sum\limits_{j=1}^mlcm(i,j)\),\(n,m\le 10^7\) 鉴于 ...

随机推荐

  1. Spring框架配置文件中有两个相同名字的bean,最后会覆盖掉一个bean

    问题容易出现在多个人合作的项目中,定义bean的名字的时候发生重复. 可以配置当bean定义重复的时候抛出异常,结束程序,强制提示更改重复的bean.

  2. html5新结构标签

    html5新结构标签 <header>  定义 section 或 page 的页眉,也就是定义头部的标签. <footer> 定义 section 或 page 的页脚. & ...

  3. 使用jquery清除select中的所有option

    html代码 <select id="search"> <option>baidu</option> <option>sogou&l ...

  4. 如何在 CentOS 7 上安装 Python 3

    当前最新的 CentOS 7.5 默认安装的是 Python 2.7.5,并且默认的官方 yum 源中不提供 Python 3 的安装包.这里主要介绍两种在 CentOS 7 中安装 Python 3 ...

  5. 基于axios的vue插件,让http请求更简单

    ajax-plus 基于axios 的 Vue 插件 如何使用 npm 模块引入 首先通过 npm 安装 ```npm install --save ajax-plus or yarn add aja ...

  6. destoon修改笔记

    $EXT = cache_read('module-3.php');  $EXT,存放了module3的设置 后台模型管理,扩展模型 里设置.     1.admin.php 后台管理项目对应文件. ...

  7. read design into DC memory

  8. Yii2 基于rbac访问控制

    Yii2 是一款非常强大的PHP底层框架, 牛b的人都喜欢用它, 有时候你们可能会发现, Yii2 底层处理不是很好, 比如: 每次分页, yii底层都会多统计一次数据的总条数!  那只能说你对它还不 ...

  9. python中字典的‘增、删、改、查’

    python 字典的'增.删.改.查' 用 ipython 运行情况如下: #新建字典 In [1]: infos = {'name':'dongge','age':18} In [2]: infos ...

  10. Python虚拟机函数机制之闭包和装饰器(七)

    函数中局部变量的访问 在完成了对函数参数的剖析后,我们再来看看,在Python中,函数的局部变量时如何实现的.前面提到过,函数参数也是一种局部变量.所以,其实局部变量的实现机制与函数参数的实现机制是完 ...