LGOJ4450 双亲数
Description
\]
要\(O(\sqrt n)\)的算法
Solution
题目要求的是
\]
要\(O(\sqrt n)\)的算法
对式子进行套路性的变形
\]
(代入 \(\epsilon = 1 \ast \mu\))
\]
拆开\(d | \gcd(i, j)\):
\]
然后整除分块
CODE
#include<bits/stdc++.h>
using namespace std;
#define int long long
namespace yspm{
const int N=1e6+10;
int vis[N],miu[N],pri[N],cnt;
inline void prework()
{
miu[1]=1;
for(int i=2;i<N;++i)
{
if(!vis[i]) pri[cnt++]=i,miu[i]=-1;
for(int j=0;j<cnt&&i*pri[j]<N;++j)
{
vis[i*pri[j]]=1; if(i%pri[j]) miu[i*pri[j]]=-miu[i];
else{miu[i*pri[j]]=0; break;}
} miu[i]+=miu[i-1];
}
return ;
}
signed main()
{
prework();
int a,b,d,ans=0; cin>>a>>b>>d;
a/=d; b/=d; if(a>b) swap(a,b);
for(int l=1,r,x,y;l<=a;l=r+1)
{
x=a/l; y=b/l;
r=min(a/x,b/y); ans+=x*y*(miu[r]-miu[l-1]);
} printf("%lld\n",ans);
return 0;
}
}
signed main(){yspm::main(); return 0;}
LGOJ4450 双亲数的更多相关文章
- BZOJ2045: 双亲数
2045: 双亲数 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 602 Solved: 275[Submit][Status] Descripti ...
- bzoj 2045: 双亲数
2045: 双亲数 Description 小D是一名数学爱好者,他对数字的着迷到了疯狂的程度. 我们以d = gcd(a, b)表示a.b的最大公约数,小D执著的认为,这样亲密的关系足可以用双亲来描 ...
- 【BZOJ2045】双亲数 莫比乌斯反演
[BZOJ2045]双亲数 Description 小D是一名数学爱好者,他对数字的着迷到了疯狂的程度. 我们以d = gcd(a, b)表示a.b的最大公约数,小D执著的认为,这样亲密的关系足可以用 ...
- [BZOJ2045]双亲数(莫比乌斯反演)
双亲数 Time Limit: 10 Sec Memory Limit: 259 MBSubmit: 959 Solved: 455[Submit][Status][Discuss] Descri ...
- 【题解】Luogu P4450 双亲数
原题传送门 这题需要运用莫比乌斯反演(懵逼钨丝繁衍) 设F(t)表示满足gcd(x,y)%t=0的数对个数,f(t)表示满足gcd(x,y)=t的数对个数,实际上答案就是f(d) 这就满足莫比乌斯反演 ...
- P4450 双亲数
思路 同zap-queries 莫比乌斯反演的板子 数据范围小到不用整除分块... 代码 #include <cstdio> #include <algorithm> #inc ...
- JZYZOJ 1375 双亲数 莫比乌斯反演
http://172.20.6.3/Problem_Show.asp?id=1375 网上搜推理图. 有一段没有写莫比乌斯反演都快忘了..数学能力--,定理完全不会推,但是这道题整体来说应该是比较好写 ...
- 洛谷 - P4450 - 双亲数 - 整除分块
https://www.luogu.org/fe/problem/P4450 应该不分块也可以. 求\(F(n,m,d)=\sum\limits_{i=1}^{n}\sum\limits_{j=1}^ ...
- [P4450] 双亲数 - 莫比乌斯反演,整除分块
模板题-- \[\sum\limits_{i=1}^a\sum\limits_{j=1}^b[(i,j)=k] = \sum\limits_{i=1}^a\sum\limits_{j=1}^b[k|i ...
随机推荐
- CodeForces - 748B Santa Claus and Keyboard Check
题意:给定两个字符串a和b,问有多少种不同的字母组合对,使得将这些字母对替换字符串b后,可以变成字符串a.注意字母对彼此各不相同. 分析:vis[u]记录与u可形成关系的字母,若u与v不同,则形成字母 ...
- 刷题32. Longest Valid Parentheses
一.题目说明 题目是32. Longest Valid Parentheses,求最大匹配的括号长度.题目的难度是Hard 二.我的做题方法 简单理解了一下,用栈就可以实现.实际上是我考虑简单了,经过 ...
- C# 串口编程,扫码枪使用
一.串口通信简介 串行接口(串口)是一种可以将接受来自CPU的并行数据字符转换为连续的串行数据流发送出去,同时可将接受的串行数据流转换为并行的数据字符供给CPU的器件.一般完成这种功能的电路,我们称为 ...
- PAT Advanced 1066 Root of AVL Tree (25) [平衡⼆叉树(AVL树)]
题目 An AVL tree is a self-balancing binary search tree. In an AVL tree, the heights of the two child ...
- Ubuntu apt install 下载软件很慢的解决办法
1.打开/etc/apt/sources.list 将内容替换为以下内容(注意把sources.list文件备份一下) deb http://mirrors.aliyun.com/ubuntu/ xe ...
- 分享-QQ/微信/微博(环境搭建)
QQ环境搭建
- es和数据库关系对比
es类比传统关系型数据库: Relational DB -> Databases -> Tables -> Rows -> Columns Elasticsearch -& ...
- 框架-Spring及组件概念
1.什么是Spring Spring框架是一款开源java平台.创建于2003年,轻量级框架(基本版本只有2M). 使用Spring优点: (1) 使用POJOs开发,不再需要EJB容器:如果 ...
- Lyft、Uber、滴滴涉足汽车租赁领域,能打破既有汽车所有权模式吗?
自共享经济出现之后,众多相关项目遍地开花.这些共享经济项目对于人们来说,最直观的感受就是实惠.性价比高.方便.不过抛开这些使用层面的优点来看的话,共享经济项目最大的特色或许就是改变了事物的所有权.一件 ...
- 使用linux服务器安装wordpress博客详细教程
前言 最近读了<软技能:代码之外的生存指南>,这本书给了我很大的启示.之前虽然知道作为一个程序员,应该拥有自己的博客,以便于提升自己的知名度,但是并没有了解的过于详细.这本书描写博客的作用 ...