【BZOJ】【2694】Lcm
数论/莫比乌斯反演/线性筛
题解:http://www.cnblogs.com/zyfzyf/p/4218176.html
JZPTAB的加强版?感觉线性筛好像还是不怎么会啊……sad
题目记下来,回头再复习复习
/**************************************************************
Problem: 2694
User: Tunix
Language: C++
Result: Accepted
Time:1868 ms
Memory:52052 kb
****************************************************************/ //BZOJ 2694
#include<vector>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#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;
typedef long long LL;
inline int getint(){
int r=,v=; char ch=getchar();
for(;!isdigit(ch);ch=getchar()) if (ch=='-') r=-;
for(; isdigit(ch);ch=getchar()) v=v*-''+ch;
return r*v;
}
const int N=4e6+;
/*******************template********************/ int mu[N],prime[N],g[N],tot;
bool check[N];
void getmu(){
int n=N-;
g[]=;
F(i,,n){
if (!check[i]){
prime[++tot]=i;
g[i]=i-i*i;
}
F(j,,tot){
int k=i*prime[j];
if (k>n) break;
check[k]=;
if (i%prime[j]) g[k]=g[i]*g[prime[j]];
else{
int t=i/prime[j];
if (t%prime[j]==) g[k]=;
else g[k]=-g[t]*prime[j]*prime[j]*prime[j];
break;
}
}
}
F(i,,n) g[i]+=g[i-];
}
inline int sum(int n,int m){
return n*(n+)*m*(m+)/;
}
int main(){
#ifndef ONLINE_JUDGE
freopen("2694.in","r",stdin);
freopen("2694.out","w",stdout);
#endif
getmu();
int T=getint();
while(T--){
int n=getint(),m=getint(),ans=;
if (n>m) swap(n,m);
for(int i=,next;i<=n;i=next+){
next=min(n/(n/i),m/(m/i));
ans+=sum(n/i,m/i)*(g[next]-g[i-]);
}
printf("%d\n",ans&);
}
return ;
}
2694: Lcm
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 247 Solved: 105
[Submit][Status][Discuss]
Description

也就是说gcd(a, b)没有一个因子的次数>=2
Input
Output
Sample Input
2 4
3 3
6 5
8 3
Sample Output
28
233
178
HINT
HINT
T <= 10000
N, M<=4000000
Source
【BZOJ】【2694】Lcm的更多相关文章
- 【Bzoj 1835 基站选址】
基站选址的区间里隐藏着DP优化的机密…… 分析: 不论是做过乘积最大还是石子合并,或者是其他的入门级别的区间DP题目的人呐,大米并认为读题后就能够轻松得出一个简洁明了的Dp转移方程. ...
- 【BZOJ 2744 朋友圈】
Time Limit: 30 Sec Memory Limit: 128 MBSubmit: 1570 Solved: 532[Submit][Status][Discuss] Descripti ...
- 【BZOJ 5038 不打兔子】
Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 22 Solved: 8[Submit][Status][Discuss] Description 勤 ...
- 【BZOJ 1088 扫雷Mine】模拟
http://www.lydsy.com/JudgeOnline/problem.php?id=1088 2*N的扫雷棋盘,第二列的值a[i]记录第 i 个格子和它8连通的格子里面雷的数目. 第一列的 ...
- 【BZOJ做题记录】07.07~?
在NOI一周前重开一个坑 最后更新时间:7.08 07:38 7.06 下午做的几道CQOI题: BZOJ1257: [CQOI2007]余数之和sum:把k mod i写成k-k/i*i然后分段求后 ...
- 【bzoj5050】【bzoj九月月赛H】建造摩天楼
讲个笑话,这个题很休闲的. 大概是这样的,昨天看到这个题,第一眼星际把题目看反了然后感觉这是个傻逼题. 后来发现不对,这个修改一次的影响是很多的,可能导致一个数突然可以被改,也可能导致一个数不能被改. ...
- 【BZOJ 4151 The Cave】
Time Limit: 5 Sec Memory Limit: 256 MBSec Special JudgeSubmit: 293 Solved: 144[Submit][Status][Di ...
- 【BZOJ 2458 最小三角形】
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1551 Solved: 549[Submit][Status][Discuss] Descripti ...
- 【BZOJ 5000 OI树】
Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 107 Solved: 64[Submit][Status][Discuss] Description ...
- 【BZOJ 5047 空间传送装置】
Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 282 Solved: 121[Submit][Status][Discuss] Descriptio ...
随机推荐
- USACO 6.1 A Rectangular Barn
A Rectangular Barn Mircea Pasoi -- 2003 Ever the capitalist, Farmer John wants to extend his milking ...
- Bootstrap--响应式图片轮播
<div class="row"> <div class="span12"> <section id="carousel ...
- MySQL性能优化(七·下)-- 锁机制 之 行锁
一.行锁概念及特点 1.概念:给单独的一行记录加锁,主要应用于innodb表存储引擎 2.特点:在innodb存储引擎中应用比较多,支持事务.开销大.加锁慢:会出现死锁:锁的粒度小,并发情况下,产生锁 ...
- CentOS查看内核版本、系统版本、系统位数
http://blog.51cto.com/ultrasql/1640435
- 深度学习基础系列(四)| 理解softmax函数
深度学习最终目的表现为解决分类或回归问题.在现实应用中,输出层我们大多采用softmax或sigmoid函数来输出分类概率值,其中二元分类可以应用sigmoid函数. 而在多元分类的问题中,我们默认采 ...
- mysql查询语句 和 多表关联查询 以及 子查询
原文地址: http://blog.csdn.net/github_37767025/article/details/67636061 1.查询一张表: select * from 表名: 2.查询指 ...
- 【BZOJ 1415】 1415: [Noi2005]聪聪和可可 (bfs+记忆化搜索+期望)
1415: [Noi2005]聪聪和可可 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1640 Solved: 962 Description I ...
- bzoj3456 城市规划 多项式求In
\(n\)个点的无向联通图的个数 打着好累啊 一定要封装一个板子 记\(C(x)\)为无向图个数的指数型生成函数,\(C(0) = 1\) 记\(G(x)\)为无向联通图个数的指数型生成函数,\(G( ...
- [HDU6155]Subsequence Count
题目大意: 给定一个01序列,支持以下两种操作: 1.区间反转: 2.区间求不同的子序列数量. 思路: 首先我们考虑区间反转,这是一个经典的线段树操作. 接下来考虑求不同的子序列数量,在已知当前区间的 ...
- 【洛谷】4317:花神的数论题【数位DP】
P4317 花神的数论题 题目背景 众所周知,花神多年来凭借无边的神力狂虐各大 OJ.OI.CF.TC …… 当然也包括 CH 啦. 题目描述 话说花神这天又来讲课了.课后照例有超级难的神题啦…… 我 ...