2693: jzptab - BZOJ
Description
Input
一个正整数T表示数据组数
接下来T行 每行两个正整数 表示N、M
Output
T行 每行一个整数 表示第i组数据的结果
Sample Input
1
4 5
Sample Output
122
HINT
T <= 10000
N, M<=10000000
题解君:http://hi.baidu.com/mikeni2006/item/b4f78a4520de9bab61d7b985
看了一上午才看懂,最后终于在lazycal的帮助下想出来了
我们需要先预处理出那个奇怪的前缀和就是
d Σ d* Σ d'*μ(d') i=1 d'|d
然后因为trunc(n/i)和trunc(m/i)都只有根号级别个值,也就是只要枚举这些值就行了
为了跑得快,类型用的longint,然后写了很多int64函数
const
maxn=;
h=;
var
flag:array[..maxn]of boolean;
f,s:array[..maxn]of longint;
p:array[..]of longint;
t,n,m,tot:longint; function max(x,y:longint):longint;
begin
if x>y then exit(x);
exit(y);
end; function min(x,y:longint):longint;
begin
if x<y then exit(x);
exit(y);
end; function get(a:longint):longint;
begin
exit(((int64(a)*a+a)>>)mod h);
end; procedure pre;
var
i,j:longint;
begin
f[]:=;
for i:= to do
begin
if flag[i]=false then
begin
inc(tot);
p[tot]:=i;
f[i]:=-i+h;
end;
for j:= to tot do
begin
if int64(p[j])*i> then break;
flag[p[j]*i]:=true;
if i mod p[j]= then
begin
f[p[j]*i]:=f[i];
break;
end
else f[p[j]*i]:=int64(f[i])*f[p[j]]mod h;
end;
end;
for i:= to do
s[i]:=(int64(s[i-])+int64(f[i])*i)mod h;
end; procedure main;
var
i,j,t,li,ri,lj,rj,l,r,ans:longint;
begin
read(n,m);
if n>m then
begin
t:=n;n:=m;m:=t;
end;
ans:=;
i:=;
while sqr(i)<=n do
begin
ans:=(int64(ans)+((int64(f[i])*i mod h)*get(trunc(n/i))mod h)*get(trunc(m/i)))mod h;
inc(i);
end;
j:=trunc(m/i);
i:=trunc(n/i);
while (i>) and (j>) do
begin
ri:=trunc(n/i);
li:=trunc(n/(i+))+;
lj:=trunc(m/(j+))+;
rj:=trunc(m/j);
l:=max(li,lj);
r:=min(ri,rj);
if l<=r then ans:=(int64(ans)+(int64(s[r]-s[l-]+h)*get(i)mod h)*get(j))mod h;
if ri<=rj then dec(i)
else dec(j);
end;
writeln(ans);
end; begin
pre;
read(t);
while t> do
begin
dec(t);
main;
end;
end.
2693: jzptab - BZOJ的更多相关文章
- [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∑Ny=1∑Mlim(x, ...
- 【莫比乌斯反演】关于Mobius反演与lcm的一些关系与问题简化(BZOJ 2154 crash的数字表格&&BZOJ 2693 jzptab)
BZOJ 2154 crash的数字表格 Description 今天的数学课上,Crash小朋友学习了最小公倍数(Least Common Multiple).对于两个正整数a和b,LCM(a, b ...
- bzoj 2693: jzptab 线性筛积性函数
2693: jzptab Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 444 Solved: 174[Submit][Status][Discus ...
- BZOJ 2693: jzptab [莫比乌斯反演 线性筛]
2693: jzptab Time Limit: 10 Sec Memory Limit: 512 MBSubmit: 1194 Solved: 455[Submit][Status][Discu ...
- BZOJ 2693: jzptab( 莫比乌斯反演 )
速度居然#2...目测是因为我没用long long.. 求∑ lcm(i, j) (1 <= i <= n, 1 <= j <= m) 化简之后就只须求f(x) = x∑u( ...
- ●BZOJ 2693 jzptab
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=2693 题解: 莫比乌斯反演 先看看这个题,BZOJ 2154 Crash的数字表格,本题的升 ...
- 【BZOJ】2693: jzptab
http://www.lydsy.com/JudgeOnline/problem.php?id=2693 题意:求$\sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i, j)$, ...
- BZOJ 2693 jzptab
http://www.lydsy.com/JudgeOnline/problem.php?id=2693 题解: 考虑把lcm转化成gcd那答案就是然后神奇的设:就有:一样可以枚举 的取值,这是O(√ ...
- Crash的数字表格 BZOJ 2154 / jzptab BZOJ 2693
jzptab [问题描述] 求: 多组询问 [输入格式] 一个正整数T表示数据组数 接下来T行 每行两个正整数 表示N.M [输出格式] T行 每行一个整数 表示第i组数据的结果 [样例输入] 1 4 ...
随机推荐
- Android异步下载网络图片
最近新做的一个项目,里面需要下载网络上的图片,并显示在UI界面上,学Android有个常识,就是Android中在主线程中没法直接更新UI的,要想更新UI必须另外开启一个线程来实现,当开启的线程完成图 ...
- 二十、Android -- SDcard文件读取和保存
背景 一些东西可以 ...
- springmvc 精华
Spring Mvc简介: Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求 ...
- c/c++面试总结(2)
4.深拷贝和浅拷贝 (1)什么时候会用到拷贝函数 一个对象以值传递的方式传入函数(就是作为入参) 一个对象以值传递的方式从函数返回(就是作为返回值) 一个对象需要通过另外一个对象进行初始化 (2)是否 ...
- [Guava源码分析]Ordering:排序
我的技术博客经常被流氓网站恶意爬取转载.请移步原文:http://www.cnblogs.com/hamhog/p/3876466.html,享受整齐的排版.有效的链接.正确的代码缩进.更好的阅读体验 ...
- ubuntu 14.04 apt-get 方式安装oracle JDK
之前已经写了 如何手动安装oracle 的JDK :http://www.cnblogs.com/bcsflilong/p/4196536.html 其实 还有可以简单方便的用apt-get 的方式安 ...
- Linux操作杂记
centos7修改默认运行等级 查看当前默认运行等级: systemctl get-dafault 修改默认运行等级为5: systemctl set-default graphical.target ...
- Basic Vlan Concepts
1. Vlan Benefit ·To reduce CPU overhead on each device by reducing the number of devices that recei ...
- Zend-MVC intro
Zend-MVC intro Zend MVC层建立在servicemanager.eventmanager.http.stdlib.几个组件之上.相关组件介绍会在其他文章中详细说明. 除了以上4大组 ...
- session 测试用例详解
http协议是WEB服务器与客户端(浏览器)相互通信的协议,它是一种无状态协议.所谓无状态,指的是不会维护http请求数据,http请求是独立的,非持久的.而越来越复杂的WEB应用,需要保存一些用户状 ...