2693: jzptab

Time Limit: 10 Sec  Memory Limit: 512 MB
Submit: 1194  Solved: 455
[Submit][Status][Discuss]

Description

Input

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

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

Output

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

Sample Input

1

4 5

Sample Output

122
HINT
T <= 10000
N, M<=10000000

和上题一样,不过多组数据
利用了和bzoj2820类似的技巧D=di 改变求和指标,这样就可以把Sum提前,剩下的部分处理前缀和
 
如何处理前缀和:
积性函数的约数和也是积性函数,可以用线性筛
g[i]=约数和D*i*mu[i]
显然g[p]=p*(1-p)
g[i*p[j]] 当p[j]|i时  mu[ii]中ii带有p[j]的话就是0了不能计入,所以p[j]只能在剩下的一块里,也就是只有D变了,所以总的就是p[j]*g[i]
 
尝试了一下枚举倍数的方法,T了
 
总结:其实这两道题和gcd=k的个数两道题很像,都是第一题只要求一个,第二题要求多个,然后就要改写式子然后处理前缀和......
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
typedef long long ll;
const int N=1e7+,MOD=;
inline int read() {
char c=getchar();
int x=,f=;
while(c<''||c>''){if(c=='-')f=-;c=getchar();}
while(c>=''&&c<=''){x=x*+c-'';c=getchar();}
return x*f;
}
int n,m;
bool notp[N];int p[N];
ll s[N],mu[N],g[N];
void sieve(){
mu[]=;
g[]=;
for(int i=;i<N;i++){
if(!notp[i]) p[++p[]]=i,mu[i]=-,g[i]=i-(ll)i*i;
for(int j=;j<=p[]&&i*p[j]<N;j++){
int t=i*p[j];
notp[t]=;
if(i%p[j]==){
mu[t]=;
g[t]=(g[i]*p[j])%MOD;
break;
}
mu[t]=-mu[i];
g[t]=(g[i]*g[p[j]])%MOD;
}
} for(int i=;i<N;i++) g[i]=(g[i]+g[i-])%MOD; }
inline ll S(ll x,ll y){
return ((x*(x+)/)%MOD)*((y*(y+)/)%MOD)%MOD;
}
int main(){
sieve();
int T=read();
while(T--){
n=read();
m=read();
if(n>m) swap(n,m);
ll ans=,r=;
for(ll D=;D<=n;D=r+){
r=min(n/(n/D),m/(m/D));
ans=(ans+S(n/D,m/D)*(g[r]-g[D-]))%MOD;
}
printf("%lld\n",(ans+MOD)%MOD);
}
}
 

BZOJ 2693: jzptab [莫比乌斯反演 线性筛]的更多相关文章

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

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

  2. BZOJ 2693: jzptab( 莫比乌斯反演 )

    速度居然#2...目测是因为我没用long long.. 求∑ lcm(i, j) (1 <= i <= n, 1 <= j <= m) 化简之后就只须求f(x) = x∑u( ...

  3. BZOJ 2693 jzptab ——莫比乌斯反演

    同BZOJ 2154 但是需要优化 $ans=\sum_{d<=n}d*\sum_{i<=\lfloor n/d \rfloor} i^2 *\mu(i)* Sum(\lfloor \fr ...

  4. BZOJ 2693: jzptab 莫比乌斯反演 + 积性函数 +筛法

    Code: #include<bits/stdc++.h> #define ll long long #define M 10001000 #define maxn 10200100 #d ...

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

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

  6. 【bzoj2694】Lcm 莫比乌斯反演+线性筛

    题目描述 求$\sum\limits_{i=1}^n\sum\limits_{j=1}^m|\mu(gcd(i,j))|lcm(i,j)$,即$gcd(i,j)$不存在平方因子的$lcm(i,j)$之 ...

  7. 【bzoj4407】于神之怒加强版 莫比乌斯反演+线性筛

    题目描述 给下N,M,K.求 输入 输入有多组数据,输入数据的第一行两个正整数T,K,代表有T组数据,K的意义如上所示,下面第二行到第T+1行,每行为两个正整数N,M,其意义如上式所示. 输出 如题 ...

  8. bzoj 2820 YY的GCD - 莫比乌斯反演 - 线性筛

    Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y)有多少对kAc这种 傻×必 ...

  9. 【BZOJ】2693: jzptab 莫比乌斯反演

    [题意]2154: Crash的数字表格 莫比乌斯反演,多组询问,T<=10000. [算法]数论(莫比乌斯反演) [题解]由上一题, $ans=\sum_{g\leq min(n,m)}g\s ...

随机推荐

  1. ASP.NET MVC5+EF6+EasyUI 后台管理系统(4)-创建项目解决方案

    系列目录 前言 为了符合后面更新后的重构系统,文章于2016-11-1日重写 设计中术语,概念这种东西过于模糊,我们必须学习累积才能认识这些概念模型. 我无法用文章来下详细解析此系统的深层概念,需要大 ...

  2. .NET Core RC2发布在即,我们试着用记事本编写一个ASP.NET Core RC2 MVC程序

    在.NET Core 1.0.0 RC2即将正式发布之际,我也应应景,针对RC2 Preview版本编写一个史上最简单的MVC应用.由于VS 2015目前尚不支持,VS Code的智能感知尚欠火候,所 ...

  3. css透明设置

    #op{ filter:alpha(opacity=50);/*IE 6 &IE7*/ -ms-filter:"progid:DXImageTransform.Microsoft.A ...

  4. 读书笔记--SQL必知必会20--管理事务处理

    20.1 事务处理 使用事务处理(transaction processing),通过确保成批的SQL操作要么完全执行,要么完全不执行,来维护数据库的完整性. 如果没有错误发生,整组语句提交给数据库表 ...

  5. 剖析并利用Visual Studio Code在Mac上编译、调试c#程序

    0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...

  6. React Native图片控件的使用

    首先定义组件 import { AppRegistry, StyleSheet, Text, View, Image,} from 'react-native'; 然后将render返回中的模版增加I ...

  7. 做个简单的RSS订阅(ASP.NET Core),节省自己的时间

    0x01 前言 因为每天上下班路上,午休前,都是看看新闻,但是种类繁多,又要自己找感兴趣的,所以肯定会耗费不少时间. 虽说现在有很多软件也可以订阅一些自己喜欢的新闻,要安装到手机,还是挺麻烦的.所以就 ...

  8. 学会给你的类(及成员)来定制一套自己的Attribute吧

    在通过Visual Studio创建的C#程序集中,都包含了一个AssemblyInfo.cs的文件,在这个文件中,我们常常会看到这样的代码 [assembly: AssemblyTitle(&quo ...

  9. Attribute操作的性能优化方式

    Attribute是.NET平台上提供的一种元编程能力,可以通过标记的方式来修饰各种成员.无论是组件设计,语言之间互通,还是最普通的框架使 用,现在已经都离不开Attribute了.迫于Attribu ...

  10. java web学习总结(二十六) -------------------JSP属性范围

    所谓的属性范围就是一个属性设置之后,可以经过多少个其他页面后仍然可以访问的保存范围. 一.JSP属性范围 JSP中提供了四种属性范围,四种属性范围分别指以下四种: 当前页:一个属性只能在一个页面中取得 ...