BZOJ2820:YY的GCD
Sol
推导:\(n<m,p为质数\)
\(ans=\sum_p\sum_{i=1}^{\frac{n}{p}}\mu(i)\frac{n}{pi}\frac{m}{pi}\)
\(=\sum_{k=1}^{n}\frac{n}{k}\frac{m}{k}\sum_{p|k}\mu(\frac{k}{p})\)
\(\sum_{p|k}\mu(\frac{k}{p})\)可以暴力预处理,也可以在筛的时候计算出
暴力求
# include <bits/stdc++.h>
# define RG register
# define IL inline
# define Zsydalao 666
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
typedef long long ll;
const int _(1e7 + 1);IL ll Read(){char c = '%'; ll x = 0, z = 1;for(; c > '9' || c < '0'; c = getchar()) if(c == '-') z = -1;for(; c >= '0' && c <= '9'; c = getchar()) x = x * 10 + c - '0';return x * z;
}int prime[_], num, mu[_], f[_];
bool isprime[_];IL void Prepare(){isprime[1] = 1; mu[1] = 1;for(RG int i = 2; i < _; ++i){if(!isprime[i]) prime[++num] = i, mu[i] = -1;for(RG int j = 1; j <= num && i * prime[j] < _; ++j){isprime[i * prime[j]] = 1;if(i % prime[j]) mu[i * prime[j]] = -mu[i];else{ mu[i * prime[j]] = 0; break; }}}for(RG int i = 1; i < _; ++i)for(RG int j = 1; j <= num && i * prime[j] < _; ++j)f[i * prime[j]] += mu[i];for(RG int i = 1; i < _; ++i) f[i] += f[i - 1];
}int main(RG int argc, RG char *argv[]){Prepare();for(RG int T = Read(); T; --T){RG ll n = Read(), m = Read(), ans = 0;if(n > m) swap(n, m);for(RG ll k = 1, j; k <= n; k = j + 1){j = min(n / (n / k), m / (m / k));ans += (n / k) * (m / k) * (f[j] - f[k - 1]);}printf("%lld\n", ans);}return 0;
}
筛的时候处理
# include <bits/stdc++.h>
# define RG register
# define IL inline
# define Zsydalao 666
# define Fill(a, b) memset(a, b, sizeof(a))
using namespace std;
typedef long long ll;
const int _(1e7 + 1);IL ll Read(){char c = '%'; ll x = 0, z = 1;for(; c > '9' || c < '0'; c = getchar()) if(c == '-') z = -1;for(; c >= '0' && c <= '9'; c = getchar()) x = x * 10 + c - '0';return x * z;
}int prime[_], num, mu[_], f[_];
bool isprime[_];IL void Prepare(){isprime[1] = 1; mu[1] = 1;for(RG int i = 2; i < _; ++i){if(!isprime[i]) prime[++num] = i, mu[i] = -1, f[i] = 1;for(RG int j = 1; j <= num && i * prime[j] < _; ++j){isprime[i * prime[j]] = 1;if(i % prime[j]) mu[i * prime[j]] = -mu[i], f[i * prime[j]] = mu[i] - f[i];else{ mu[i * prime[j]] = 0; f[i * prime[j]] = mu[i]; break; }}}for(RG int i = 1; i < _; ++i) f[i] += f[i - 1];
}int main(RG int argc, RG char *argv[]){Prepare();for(RG int T = Read(); T; --T){RG ll n = Read(), m = Read(), ans = 0;if(n > m) swap(n, m);for(RG ll k = 1, j; k <= n; k = j + 1){j = min(n / (n / k), m / (m / k));ans += (n / k) * (m / k) * (f[j] - f[k - 1]);}printf("%lld\n", ans);}return 0;
}
转载于:https://www.cnblogs.com/cjoieryl/p/8288744.html
BZOJ2820:YY的GCD相关推荐
- [ bzoj2820] YY的GCD
[ bzoj2820] YY的GCD Time Limit : 3000 ms Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<= ...
- Bzoj-2820 YY的GCD Mobius反演,分块
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2820 题意:多次询问,求1<=x<=N, 1<=y<=M且gcd( ...
- bzoj2820: YY的GCD
题意 给定\(n,m(1 \leqslant n,m \leqslant 10000000)\),求\(1\leqslant x \leqslant n\), \(1 \leqslant y \leq ...
- [BZOJ2820]YY的GCD
题目大意: 对于给定的$n,m(n,m\leq10^7)$,求$为质数\displaystyle\sum_{x=1}^n\sum_{y=1}^m[\gcd(x,y)为质数]$. 思路: 设$p=\gc ...
- bzoj2820 [bzoj2820]YY的GCD(线性素数筛+莫比乌斯反演)
求gcd(i,j)为质数的个数.即 ∑p∑i=1n∑j=1mgcd(i,j)==p \sum\limits_p\sum\limits_{i=1}^n\sum\limits_{j=1}^mgcd(i,j ...
- 【莫比乌斯反演】BZOJ2820 YY的GCD
题面在这里 与这道题类似. 先考虑枚举质数p,答案就是: ∑p∑dμ(d)⌊npd⌋⌊mpd⌋ \sum_p \sum_d \mu(d) \lfloor \frac n {pd} \rfloor \l ...
- BZOJ 2820 YY的GCD 莫比乌斯反演
2820: YY的GCD Description 神犇YY虐完数论后给傻×kAc出了一题给定N, M,求1<=x<=N, 1<=y<=M且gcd(x, y)为质数的(x, y) ...
- P2257 YY的GCD
P2257 YY的GCD 题意: 求 1≤x≤N,1≤y≤M1 \leq x \leq N,1 \leq y \leq M1≤x≤N,1≤y≤M 且gcd(x, y) 为质数的 (x,y) 有多少对. ...
- 洛谷 P2257 YY的GCD
YY的GCD 题目描述 神犇YY虐完数论后给傻×kAc出了一题 给定\(N\), \(M\) ,求\(1 \le x \le N,1 \le y \le M\)且\(gcd(x, y)\)为质数的\( ...
- BZOJ 2820: YY的GCD
2820: YY的GCD Time Limit: 10 Sec Memory Limit: 512 MB Submit: 1705 Solved: 908 [Submit][Status][Dis ...
最新文章
- mysql命令行批量添加数据_mysql命令行批量插入100条数据命令
- Spring.net与Asp.net Mvc结合示例《转载》
- ArrayList与LinkedList的比较
- Java中Scanner的理解大总结
- input must have last dimension = k = 3 but is 2 for 'TopKV2_这种错误是怎么产生的
- redis设置数据库数量databases
- 2019-06-13 Java学习日记之MySql
- 利用Teensy进行EM410x卡模拟以及暴力破解EM410X类门禁系统可行性猜想
- 一年了,写点关于人生的东西吧
- SSM框架配置文件加载流程
- windows10用户密码获取
- React脚手架搭建及创建React项目
- python面向对象编程指南 豆瓣_Python面向对象编程
- 申请苹果个人开发者经历
- VxWorks编译ACE和TAO
- File-backed Storage
- 走迷宫爆压,21行突破B站记录(自创,自设地图)
- 超全,我梳理了最频繁使用的 70 个数据分析网址
- Facebook Surround 360 使用说明
- P1209 [USACO1.3]修理牛棚 Barn Repair
热门文章
- vscode eslint 格式化完之后,一个标签多行,看的头疼
- 前端从入门到精通(记录自己的前端学习之路)都是一些自己做的笔记
- 嵌入式Linux开发笔试,嵌入式Linux工程师笔试题
- php mysql 读取数据_PHP MySQL 读取数据
- linux系统ip6tables怎么配置,ip6tables 基本配置
- python保存后不运行_Python后台执行不启用缓存
- python 特征工程_[译] 基于时序数据的特征工程 --- Python实现
- 机器学习理论与实战:逻辑回归
- 计算机技能测试题12答案,计算机基本技能考试选择题及答_计算机一级考试练习题及答案...
- idea 自动生成mybaits_如何让idea自动创建mybatis配置文件?