正解:容斥/杜教筛+二分

解题报告:

传送门$QwQ$

首先一看这数据范围显然是考虑二分这个数然后$check$就计算小于等于它的不是讨厌数的个数嘛.

于是考虑怎么算讨厌数的个数?

看到这个讨厌数说,不能是完全平方数的倍数,不难想到可以理解为将$x$质因数分解后不存在指数大于1的情况.

这时候自然而然能联想到莫比乌斯函数?因为根据定义有,只有质数大于1时等于0其他时候为$\pm 1$.

所以答案就$\sum (\mu(i))^2$.杜教筛就好(因为,我,不会杜教筛,所以一句话就带过去了$kk$,可能等我学了杜教筛会来补锅的趴,,?$QwQ$

法二考虑容斥,即答案=总数-一个质因子的平方的倍数+两个不同质因子的平方的倍数-三个不同质因子的平方的倍数...

不解释了趴我$jio$得还挺显然的$QwQ$

考虑怎么求呢?再次想到莫比乌斯函数的特殊性质,考虑枚举这个平方根$i$,贡献显然就$\frac{n}{i^2}$.考虑系数?发现系数取决于质因子的个数的奇偶性,依然根据莫比乌斯函数的定义有,质因子个数为奇数时为负一,质因子个数为偶数是为正一.且质因子质数大于1时等于0保证了一定是不同质因子.

综上,可以得到答案$ans=\sum_{i=1}^{i^2\leq n}\mu(i)\cdot \frac{n}{i^2}$

$over$?

  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define il inline
  4. #define fi first
  5. #define sc second
  6. #define gc getchar()
  7. #define mp make_pair
  8. #define int long long
  9. #define P pair<int,int>
  10. #define ri register int
  11. #define rc register char
  12. #define rb register bool
  13. #define rp(i,x,y) for(ri i=x;i<=y;++i)
  14. #define my(i,x,y) for(ri i=x;i>=y;--i)
  15. #define e(i,x) for(ri i=head[x];i;i=edge[i].nxt)
  16.  
  17. const int N=1e6+;
  18. int n,m,miu[N],pr[N],pr_cnt;
  19. bool is_pr[N];
  20.  
  21. il int read()
  22. {
  23. rc ch=gc;ri x=;rb y=;
  24. while(ch!='-' && (ch>'' || ch<''))ch=gc;
  25. if(ch=='-')ch=gc,y=;
  26. while(ch>='' && ch<='')x=(x<<)+(x<<)+(ch^''),ch=gc;
  27. return y?x:-x;
  28. }
  29. il void pre()
  30. {
  31. miu[]=;
  32. rp(i,,N-)
  33. {
  34. if(!is_pr[i])pr[++pr_cnt]=i,miu[i]=-;
  35. rp(j,,pr_cnt)
  36. {
  37. if(i*pr[j]>N-)break;;is_pr[i*pr[j]]=;
  38. if(!(i%pr[j])){miu[i*pr[j]]=;break;}
  39. miu[i*pr[j]]=-miu[i];
  40. }
  41. }
  42. }
  43. il int check(ri x)
  44. {
  45. ri ret=;
  46. for(ri i=;i*i<=x;++i)ret+=miu[i]*(x/i/i);
  47. return ret;
  48. }
  49.  
  50. signed main()
  51. {
  52. //freopen("4318.in","r",stdin);freopen("4318.out","w",stdout);
  53. ri T=read();pre();
  54. while(T--)
  55. {ri K=read(),l=,r=K<<;while(l<r){ri mid=(l+r)>>;if(check(mid)>=K)r=mid;else l=mid+;}printf("%lld\n",l);}
  56. return ;
  57. }

洛谷$P4318$ 完全平方数 容斥+二分的更多相关文章

  1. bzoj2440 完全平方数 莫比乌斯值+容斥+二分

    莫比乌斯值+容斥+二分 /** 题目:bzoj2440 完全平方数 链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2440 题意:求第k个小x数 ...

  2. 【周期性/容斥+二分】POJ2773-HAPPY 2006

    [题目大意] 求与n互质的第k个数. [思路] 先求出小于k且与n互质的数,再利用gcd(bt+a,b)=gcd(a,b)的性质求解,效率低.枚举与n互质的数的效率是O(nlogn),求解第k个数的效 ...

  3. BZOJ 2440 莫比乌斯函数+容斥+二分

    2440: [中山市选2011]完全平方数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 5473  Solved: 2679[Submit][Sta ...

  4. nyoj762——分解质因数+容斥+二分

    第k个互质数 时间限制:1000 ms  |  内存限制:65535 KB 难度:4   描述 两个数的a,b的gcd为1,即a,b互质,现在给你一个数m,你知道与它互质的第k个数是多少吗?与m互质的 ...

  5. 洛谷P4318 完全平方数(容斥,莫比乌斯反演)

    传送门 求第$k$个没有完全平方数因数的数 一开始是想筛一波莫比乌斯函数,然后发现时间复杂度要炸 于是老老实实看了题解 一个数的排名$k=x-\sum_{i=1}^{x}{(1-|\mu(i)|)}$ ...

  6. BZOJ 2440 [中山市选2011]完全平方数 二分+容斥

    直接筛$\mu$?+爆算?再不行筛素数再筛个数?但不就是$\mu^2$的前缀和吗? 放...怕不是数论白学了$qwq$ 思路:二分+容斥 提交:两次(康了题解) 题解: 首先答案满足二分性质(递增), ...

  7. 【二分+容斥+莫比乌斯反演】BZOJ2440 完全平方数

    Description 求第k个没有完全平方因子的数,k<=1e9. Solution 这其实就是要求第k个µ[i](莫比乌斯函数)不为0的数. 然而k太大数组开不下来是吧,于是这么处理. 二分 ...

  8. [中山市选2011][bzoj2440] 完全平方数 [二分+莫比乌斯容斥]

    题面 传送门 思路 新姿势get 莫比乌斯容斥 $\sum_{i=1}{n}\mu(i)f(i)$ 这个东西可以把所有没有平方质因子的东西表示出来,还能容斥掉重复的项 证明是根据莫比乌斯函数的定义,显 ...

  9. codeforces B. Friends and Presents(二分+容斥)

    题意:从1....v这些数中找到c1个数不能被x整除,c2个数不能被y整除! 并且这c1个数和这c2个数没有相同的!给定c1, c2, x, y, 求最小的v的值! 思路: 二分+容斥,二分找到v的值 ...

随机推荐

  1. @uoj - 435@ 【集训队作业2018】Simple Tree

    目录 @description@ @solution@ @accepted code@ @details@ @description@ 有一棵有根树,根为 1,点有点权. 现在有 m 次操作,操作有 ...

  2. Android Service Summary

     In the Androird, service is a none-UI background process that is doing some specific jobs.   6.1 Ex ...

  3. LeetCode75 Sort Colors

    题目: Given an array with n objects colored red, white or blue, sort them so that objects of the same ...

  4. PAN-OS 6.1 Open Source Software (OSS) Listing

    https://www.paloaltonetworks.com/documentation/oss-listings/oss-listings/pan-os-oss-listings/pan-os- ...

  5. MySQL_连表查询

    连表查询 连表查询通常分为内连接和外连接.内连接就是使用INNER JOIN进行连表查询:而外连接又分为三种连接方式,分别是左连接(LEFT JOIN).右连接(RIGHT JOIN).全连接(FUL ...

  6. 为更强大而生的开源关系型数据库来了!阿里云RDS for MySQL 8.0 正式上线!

    2019年5月29日15时,阿里云RDS for MySQL 8.0正式上线,使得阿里云成为紧跟社区步伐,发布MySQL最新版本的云厂商.RDS for MySQL 8.0 产品是阿里云推出的 MyS ...

  7. 随机线性网络编码的C语言实现,实现可靠传输:原理(1)

    线性方程组,大家都不陌生吧.来一组 A11 *X1 + A12 *X2 + A13 *X3 + A14 *X4 =Q1 A21 *X1 + A22 *X2 + A23 *X3 + A24 *X4 =Q ...

  8. 2018-5-28-win10-uwp-动态修改ListView元素布局

    title author date CreateTime categories win10 uwp 动态修改ListView元素布局 lindexi 2018-05-28 15:15:54 +0800 ...

  9. TCP/IP模型的层次结构

  10. RBF神经网络的matlab简单实现

    径向基神经网络 1.径向基函数 (Radial Basis Function,RBF) 神经网络是一种性能良好的前向网络,具有最佳逼近.训练简洁.学习收敛速度快以及克服局部最小值问题的性能,目前已经证 ...