正题

题目链接:
https://www.luogu.org/problem/P4318
https://www.lydsy.com/JudgeOnline/problem.php?id=2440


题目大意

完全平方数只对应任意一个的正整数满足d∣n,d2∤nd\mid n,d^2\nmid nd∣n,d2∤n(也就是nnn的质因数分解后都没有次数)。
求第kkk个完全平方数


解题思路

考虑二分答案,将问题转换为判定求1∼mid1\sim mid1∼mid内有多少个完全平方数。
考虑容斥,我们考虑用1∼mid1\sim \sqrt mid1∼m​id这些数中的无平方因子数进行容斥。而因为会有重复,我们发现对应xxx来说的容斥系数就是μ(x)\mu (x)μ(x)(首先保证了一定是无平方因子数,然后若只有一个质因数μ(x)=−1\mu(x)=-1μ(x)=−1否则μ(x)=1\mu(x)=1μ(x)=1这样就是容斥系数了)。而对应xxx来说可以组成⌊nx2⌋\lfloor \frac{n}{x^2}\rfloor⌊x2n​⌋个平方因子数,所以个数为
∑i=1mμ(x)⌊midi2⌋\sum_{i=1}^{\sqrt m}\mu(x)\lfloor \frac{mid}{i^2}\rfloori=1∑m​​μ(x)⌊i2mid​⌋


codecodecode

#include<cstdio>
#include<cstring>
#include<algorithm>
#define ll long long
using namespace std;
const ll N=100010;
ll T,n,l,r,mu[N+10],prime[N+10],cnt;
bool v[N+10];
ll check(ll n)
{ll ans=0;for(ll i=1;i*i<=n;i++)ans+=mu[i]*(n/(i*i));return ans;
}
int main()
{scanf("%lld",&T);mu[1]=1;for(ll i=2;i<=N;i++){if(!v[i])mu[i]=-1,prime[++cnt]=i;for(ll j=1;j<=cnt&&i*prime[j]<=N;j++){v[i*prime[j]]=1;if(!(i%prime[j])) break;mu[i*prime[j]]=-mu[i];}}while(T--){scanf("%lld",&n);l=1;r=2*n;while(l<=r){ll mid=(l+r)/2;if(check(mid)>=n) r=mid-1;else l=mid+1;}printf("%lld\n",l);}
}

P4318,bzoj2440-完全平方数【二分答案,莫比乌斯函数,容斥】相关推荐

  1. 完全平方数 HYSBZ - 2440 (莫比乌斯函数容斥)

    完全平方数 HYSBZ - 2440 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些 数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而 这丝毫不影响他对其他 ...

  2. Comet OJ - Contest #8 E神奇函数(莫比乌斯函数容斥)

    Comet OJ - Contest #8 E神奇函数(莫比乌斯函数容斥) 题目大意 定义d(x)d(x)d(x)的值为x的最小素因子,定义 f(x)={1x=1d(x)f(xd2(x))x>1 ...

  3. Relatively Prime Powers CodeForces - 1036F (莫比乌斯函数容斥)

    Relatively Prime Powers CodeForces - 1036F Consider some positive integer xx. Its prime factorizatio ...

  4. F - Tmutarakan Exams URAL - 1091 -莫比乌斯函数-容斥 or DP计数

    F - Tmutarakan Exams 题意 : 从 < = S 的 数 中 选 出 K 个 不 同 的 数 并 且 gcd > 1 .求方案数.   思路 :记 录 一 下 每 个 数 ...

  5. P4318 完全平方数 [二分答案+容斥+莫比乌斯函数]

    完 全 平 方 数 完全平方数 完全平方数 D e s c r i p t i o n \mathcal{Description} Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨 ...

  6. hdu1695(莫比乌斯)或欧拉函数+容斥

    题意:求1-b和1-d之内各选一个数组成数对.问最大公约数为k的数对有多少个,数对是有序的.(b,d,k<=100000) 解法1: 这个能够简化成1-b/k 和1-d/k 的互质有序数对的个数 ...

  7. P4318-莫比乌斯函数+容斥

    前言: 这题告诉我们莫比乌斯函数是平方数容斥的容斥系数. 题目大意: T T T组询问,问你第 k k k个不含平方因子的数. 题目思路:二分答案+容斥 先二分答案 m i d mid mid,问题转 ...

  8. BZOJ2301:[HAOI2011]Problem b(莫比乌斯反演,容斥)

    Description 对于给出的n个询问,每次求有多少个数对(x,y),满足a≤x≤b,c≤y≤d,且gcd(x,y) = k,gcd(x,y)函数为x和y的最大公约数. Input 第一行一个整数 ...

  9. 莫比乌斯反演/容斥 +2020ICPC 江西省大学生程序设计竞赛 A Simple Math Problem

    题目描述 输入描述: 输出描述: 示例1 输入 3 输出 5 分析: 1.这个题其实考的是一个莫比乌斯反演题,但是由于我知识储备不够,没有看出来,题目给的范围可以瞎搞一下,所以下面容斥可以过. 2.转 ...

最新文章

  1. 地球自转减速影响世界时 格林尼治时间或成历史
  2. 【每周CV论文】深度学习文本检测与识别入门必读文章
  3. PO增强,明细动抬头动
  4. 2013年网络安全事件盘点
  5. 【作业5】了解在什么岗位上有哪些语言需要使用
  6. keil c51注册机2032
  7. 数字图像处理 冈萨雷斯(第四版)图像集合运算定义
  8. 「Python爬虫系列讲解」五、用 BeautifulSoup 爬取电影信息
  9. arcpy投影(二)——基准面变换概念及参数、空间参考对象获取、变换关系获取方法梳理与解析(Spatial Reference、ListTransformations)
  10. 「维基解密」:西游记死亡人数
  11. 高等数学:第五章 定积分(1)概念与性质 中值定理 微积分基本公式
  12. CAD转Excel,如何快速转换呢?
  13. YOLOv5训练KAIST数据集
  14. opencv——图像中关于轮廓的一些操作
  15. 百度竞价推广的真正意义是什么?
  16. ridis的安装与遇到的问题
  17. C++中的糖果——缺省参数、内联函数、auto及nullptr关键字
  18. python中list的意思_python中列表和集合有什么区别
  19. 用HTML+CSS做一个漂亮简单的花店网页【免费的学生网页设计成品】
  20. c语言专业实习报告,C语言个人实习报告(范文1)

热门文章

  1. Android 封装handler,android封装工作线程跟Handler工具类
  2. java线程带来的异常,java多线程练习之捕获子线程异常例子
  3. mysql视图实现的_mysql视图是什么?怎么实现?
  4. freertos源码详解与应用开发 pdf_互联网企业面试必问Spring源码?搞定Spring源码,看完这篇就够了...
  5. idea中右侧的Maven框消失了
  6. 10分钟带你探索css中更为奇妙的奥秘
  7. android 手机交互设计,移动设备交互设计比较
  8. [PAT乙级]1006 换个格式输出整数
  9. [Java基础]数据输入
  10. 《C++ Primer》13.1.1节练习