莫比乌斯反演

  PoPoQQQ讲义第5题,是BZOJ 2154的升级版(多次询问)

  题解:http://blog.csdn.net/popoqqq/article/details/42078725

WA:应该输出(ans+P)%P……而不是ans

 /**************************************************************
Problem: 2693
User: Tunix
Language: C++
Result: Accepted
Time:5128 ms
Memory:245416 kb
****************************************************************/ //BZOJ 2693
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
#define rep(i,n) for(int i=0;i<n;++i)
#define F(i,j,n) for(int i=j;i<=n;++i)
#define D(i,j,n) for(int i=j;i>=n;--i)
using namespace std; int getint(){
int v=,sign=; char ch=getchar();
while(ch<''||ch>'') {if (ch=='-') sign=-; ch=getchar();}
while(ch>=''&&ch<='') {v=v*+ch-''; ch=getchar();}
return v*=sign;
}
/*******************tamplate********************/
typedef long long LL;
const int N=1e7+,P=;
LL prime[N];
LL h[N],sum[N]={};
bool check[N]; void getmu(int n){
h[]=;
int tot=;
for(int i=;i<n;++i){
if (!check[i]){
prime[tot++]=i;
h[i]=(i-(LL)i*i)%P;
}
rep(j,tot){
if (i*prime[j]>n) break;
check[i*prime[j]]=;
if (i%prime[j]) h[i*prime[j]]=h[prime[j]]*h[i]%P;
else{
h[i*prime[j]]=(prime[j]*h[i])%P;
break;
}
}
}
F(i,,n-)
sum[i]=(sum[i-]+h[i])%P;
}
inline LL Sum(LL n,LL m){
LL re1=n*(n+)/%P,
re2=m*(m+)/%P;
return re1*re2%P;
}
int main(){
getmu(N-);
int T=getint();
LL n,m;
while(T--){
n=getint(); m=getint();
if (n>m) swap(n,m);
LL i,last,ans=;
for(i=;i<=n;i=last+){
last=min(n/(n/i),m/(m/i));
ans=(ans+Sum(n/i,m/i)*(sum[last]-sum[i-])%P)%P;
}
printf("%lld\n",(ans+P)%P);
}
return ;
}

2693: jzptab

Time Limit: 10 Sec  Memory Limit: 512 MB
Submit: 539  Solved: 211
[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

HINT

Source

[Submit][Status][Discuss]

最新文章

  1. ESLint规则配置说明
  2. T-SQL 常用语句
  3. sbt的assembly插件使用(打包所有依赖)
  4. 有人向我反馈了一个bug
  5. WCF的通信
  6. android驱动程序之 - sensor
  7. elk 索引
  8. 常用JS工具包
  9. Docker 最常用的监控方案 - 每天5分钟玩转 Docker 容器技术(78)
  10. [BZOJ1607] [Usaco2008 Dec] Patting Heads 轻拍牛头 (数学)
  11. zabbix监控特定脚本有无生成
  12. (5)TCP和UDP协议
  13. Volatile关键字理解
  14. tensorflow实现循环神经网络
  15. if 判断文件
  16. React (native) 相关知识
  17. CAS (6) —— Nginx代理模式下浏览器访问CAS服务器网络顺序图详解
  18. 关于redis连接池
  19. linux进程永久放后台运行
  20. 编译原理(六)自底向上分析之LR分析法

热门文章

  1. 反射-Reflect
  2. 用cudamat做矩阵运算的GPU加速
  3. ArcGIS Desktop开发基础(转)
  4. 【Newtonsoft.Json】Window Phone Json解析开发包
  5. RSS 订阅
  6. 大神是如何玩C语言的!
  7. VirtrualBox 搭建本地lamp环境
  8. apache common包下的StringUtils的join方法
  9. WPF之旅(三)- 布局之StackPanel
  10. WPF 界面控件遍历和后台行为绑定写法