BZOJ 3309: DZY Loves Math 莫比乌斯反演+打表
有一个神奇的技巧——打表
code:
#include <bits/stdc++.h>
#define N 10000007
#define ll long long
#define setIO(s) freopen(s".in","r",stdin)
using namespace std;
int cnt;
int vis[N],prime[N],g[N],mu[N],nump[N],minp[N],qp[N];
void Initialize()
{
int i,j;
mu[1]=1;
for(i=2;i<N;++i)
{
if(!vis[i])
{
prime[++cnt]=i;
nump[i]=1;
minp[i]=i;
qp[i]=i;
g[i]=1;
}
for(j=1;j<=cnt&&prime[j]*i<N;++j)
{
vis[i*prime[j]]=1;
int k=i*prime[j];
if(i%prime[j])
{
nump[k]=1;
qp[k]=minp[k]=prime[j];
if(nump[i]==1) g[k]=-g[i];
}
else
{
nump[k]=nump[i]+1;
minp[k]=prime[j];
qp[k]=qp[i]*prime[j];
if(k==qp[k]) g[k]=1;
else if(nump[k]==nump[k/qp[k]]) g[k]=-g[k/qp[k]];
break;
}
}
}
for(i=2;i<N;++i) g[i]+=g[i-1];
}
void solve(int a,int b)
{
if(a>b) swap(a,b);
int i,j;
ll ans=0ll;
for(i=1;i<=a;i=j+1)
{
j=min(a/(a/i),b/(b/i));
ans=ans+(ll)(a/i)*(b/i)*(g[j]-g[i-1]);
}
printf("%lld\n",ans);
}
int main()
{
// setIO("input");
Initialize();
int i,j,T;
scanf("%d",&T);
while(T--)
{
int a,b;
scanf("%d%d",&a,&b);
solve(a,b);
}
return 0;
}
BZOJ 3309: DZY Loves Math 莫比乌斯反演+打表的更多相关文章
- bzoj 3309 DZY Loves Math 莫比乌斯反演
DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 1303 Solved: 819[Submit][Status][Dis ...
- BZOJ 3309 DZY Loves Math ——莫比乌斯反演
枚举$d=gcd(i,j)$ 然后大力反演 ——来自Popoqqq的博客. 然后大力讨论后面的函数的意义即可. http://blog.csdn.net/popoqqq/article/details ...
- bzoj 3309 DZY Loves Math —— 莫比乌斯反演+数论分块
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=3309 凭着上课所讲和与 Narh 讨论推出式子来: 竟然是第一次写数论分块!所以迷惑了半天: ...
- BZOJ 3309: DZY Loves Math [莫比乌斯反演 线性筛]
题意:\(f(n)\)为n的质因子分解中的最大幂指数,求\(\sum_{i=1}^n \sum_{j=1}^m f(gcd(i,j))\) 套路推♂倒 \[ \sum_{D=1}^n \sum_{d| ...
- 【BZOJ】3309: DZY Loves Math 莫比乌斯反演优化
3309: DZY Loves Math Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007) ...
- ●BZOJ 3309 DZY Loves Math
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3309 题解: 莫比乌斯反演,线筛 化一化式子: f(x)表示x的质因子分解中的最大幂指数 $ ...
- BZOJ 3309: DZY Loves Math
3309: DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 761 Solved: 401[Submit][Status ...
- 【BZOJ3309】DZY Loves Math 莫比乌斯反演+线性筛(好题)
[BZOJ3309]DZY Loves Math Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10 ...
- 【BZOJ3309】DZY Loves Math - 莫比乌斯反演
题意: 对于正整数n,定义$f(n)$为$n$所含质因子的最大幂指数.例如$f(1960)=f(2^3 * 5^1 * 7^2)=3$,$f(10007)=1$,$f(1)=0$. 给定正整数$a,b ...
随机推荐
- pytest_使用自定义标记mark
前言 pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行.app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是i ...
- SqlServer调用OPENQUERY函数远程执行增删改查
/* OPENQUERY函数,远程执行数据库增删改查 关于OPENQUERY函数第二个参数不支持拼接变量的方案 方案1:将OPENQUERY语句整个拼接为字符串,再用EXEC执行该字符串语句 方案2: ...
- WPF 很少人知道的科技
原文:WPF 很少人知道的科技 本文介绍不那么常见的 WPF 相关的知识. 本文内容 在 C# 代码中创建 DataTemplate 多个数据源合并为一个列表显示 使用附加属性做缓存,避免内存泄漏 使 ...
- 使用Bootstrap的popover标签中嵌入插件,并且为插件注册事件实现Ajax与后台交互
下午研究了一下bootstrap的popover写了个例子.如果项目很多地方都需要用到可以考虑封装成插件. javascript代码: <script type="text/javas ...
- oracle 逻辑对象
视图 视图的作用: a 让查询返回的字段更容易理解. b 对复杂select语句的封装. c 安全性.视图可以单独授权.对于数据量巨大的表,可以创建视图仅仅返回前100条数据,将该视图select权限 ...
- python爬虫-房天下-登录
房天下-登录 本次爬取的网址为:https://passport.fang.com 一.分析请求 输入用户名和密码,点击登录按钮 请求的参数为: uid: 123456789 pwd: 64ccd42 ...
- 米尔电子i.MX8开发板评测
基于 NXP 公司的i.MX8M 系列芯片的高性能开发平台 MYD-JX8MX开发板.是采用核心板(MYC-JX8MX)加底板(MYB-JX8MX)的形式,提供了 HDMI,LVDS(或 MIPI), ...
- eyoucms 模板
https://www.oschina.net/p/eyoucms 下载模板 https://www.eyoucms.com/doc/operation/ 学习手册
- React Native 开发豆瓣评分(七)首页组件开发
首页内容拆分 看效果图,首页由热门影院.豆瓣热门.热门影视等列表组成,每个列表又由头加横向滑动的 电影海报列表构成. 所以可以先把页面的电影海报.评分.列表头做成组件,然后在使用 ScrollView ...
- mysql 根据日期进行查询数据,没有数据也要显示空
写这篇博客主要是记录自己在对订单进行按日期查询时使用的一种查询的方法,这里的orders是订单表,你也可以改成别的什么表对于最终数据不会造成影响,除非你那个表的数据只有几条那样就会出现查不到日期的情况 ...