Time:2016.05.29
Author:xiaoyimi
转载注明出处谢谢


传送门
思路:
这是一个和μ函数有很大关系的题目

x以内的无平方因子数=无需是任何质数的倍数的数的数量(即x)-是至少一个质数平方倍数的数的数量+是至少两个质数平方倍数的数的数量-是至少三个质数平方倍数的数的数量…

看一下μ函数的定义

具体操作就是在[0,2n](据说可以证明上界是2n???)每次二分判断x以内的非平方倍数是否大于等于n,是就令r=mid-1,反之就是l=mid+1,判断时就是∑n√i=1⌊μ(i)∗ni2⌋\sum^{\sqrt n}_{i=1}⌊\frac {μ(i)*n}{i^2}⌋
注意:
l,r,mid计算时要开long long(或者unsigned int)
代码:

#include<cstdio>
#include<iostream>
#include<cstring>
#include<cmath>
#define LL long long
using namespace std;
int T,n;
int prime[50000],mu[50000];
int vis[50000];
int in()
{char ch=getchar();int t=0;while (!isdigit(ch)) ch=getchar();while (isdigit(ch)) t=(t<<1)+(t<<3)+ch-48,ch=getchar();return t;
}
void init()
{mu[1]=1;for (int i=2;i<=46500;i++){if (!vis[i])prime[++prime[0]]=i,mu[i]=-1;for (int j=1;j<=prime[0];j++)if (i*prime[j]>46500) break;else{vis[i*prime[j]]=1;if (i%prime[j])mu[i*prime[j]]=-mu[i];else{mu[i*prime[j]]=0;break;}}}
}
bool judge(int x,int k)
{int ans=0;for (int i=1;i<=sqrt(x);i++)ans+=mu[i]*x/(i*i);return ans<k;
}
int solve(int k)
{int l=0,r=k<<1,ans=0;for (int mid=l+r>>1;l<=r;mid=(LL)l+r>>1)if (judge(mid,k)) l=mid+1;else ans=mid,r=mid-1;return ans;
}
main()
{init();T=in();while(T--)n=in(),printf("%d\n",solve(n));
}

【BZOJ2440】完全平方数,莫比乌斯反演+二分答案+容斥思想相关推荐

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

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

  2. 二项式反演(广义容斥定理)学习笔记

    背景: 二项式反演又名广义容斥定理. 下次再看题解时要注意了. 解锁新姿势. 说白了就是之前会的姿势太少了. 正题: 说白了就是有这样两条恒等的式子: f n = ∑ i = 0 n ( − 1 ) ...

  3. Educational Codeforces Round 37 G. List Of Integers (二分,容斥定律,数论)

    G. List Of Integers time limit per test 5 seconds memory limit per test 256 megabytes input standard ...

  4. 小奇遐想 树状数组实现+容斥思想

    问题 M: 小奇遐想 时间限制: 1 Sec  内存限制: 128 MB 提交: 165  解决: 21 [提交] [状态] [讨论版] [命题人:admin] 题目描述 撷来一缕清风飘渺 方知今日书 ...

  5. jzoj5701-[gdoi2018day2]谈笑风生【莫比乌斯反演,二分,最短路】

    正题 题目大意 nnn个点,每个点有一个wiw_iwi​,mmm条边,对于一条边(x,y)(x,y)(x,y),边权为∑i=1wx∑j=1wy[gcd(i,j)==1](i+j)\sum_{i=1}^ ...

  6. 【HDU5656】CA Loves GCD,容斥思想与乱搞

    Yveh 聪哥 传送门-BCの中文题面 传送门-HDU 写在前面:这次不准备写BC R78的解题报告了,为什么呢?因为题目太--由于那天正好休息,和Yveh分隔两地信息不通,结果分别用的自己的号打(x ...

  7. 数论 —— 莫比乌斯反演

    [反演] 假设我们手头有个数列 F,通过某种变换 H,可以得到函数 G.,即: 但现在只有函数 G,需要求 F,那么我们就需要寻找一种变换 ,使得 G 在经过这种变换后能够获得 F,这个过程即为反演, ...

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

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

  9. 小A的数学题(莫比乌斯反演数论)

    小A的数学题(莫比乌斯反演&数论) 1.容斥 原始化简为 ∑ d = 1 n d 2 ∑ i = 1 n ∑ j = 1 m [ g c d ( i , j ) = d ] \sum\limi ...

最新文章

  1. 强势推荐7个让你惊呼还有这种操作的网站,让人惊喜!
  2. 20211004 矩阵的子空间
  3. 阿里巴巴矢量图标库iconfont使用教程
  4. 360安全卫士 导致MySQL 5.0.24 自动关闭
  5. 大批量文件处理的7条建议
  6. P5020-货币系统【背包】
  7. Liunx 系统调优
  8. 小程序 | 微信小程序from报名表单提交至数据库(含js提交函数)
  9. 断开式 Dgv 修改数据 winform
  10. django-QueryDict对象
  11. python使用md5加密_如何使用Python创建自己的加密货币
  12. 只要实现了annotation这个接口就是注解 同理:只要实现了某个接口就是该类型的实现类...
  13. Chisel3 - Tutorial - Parity
  14. php和数据库的永久链接,php – WordPress永久链接,包括名称和ID,但仅考虑ID
  15. 【算法•日更•第十六期】信息奥赛一本通1597:【 例 1】滑动窗口题解
  16. SEO知识分享一,选择关键词
  17. python跨平台处理绝对路径和相对路径,open,with
  18. SpringBoot及SpringCloud版本管理(Gradle版本)
  19. arduino 步进电机驱动库_arduino中驱动 步进电机
  20. 2012年8月 至 2014年2月1日读书列表

热门文章

  1. 前端工具webpack4.0各个击破——html部分
  2. 【华为云技术分享】自动网络搜索(NAS)在语义分割上的应用(一)
  3. 修改了模板文件tpl如何立即生效_Python3操作Office之Word模板技术
  4. php 5.6.29,源码编译安装PHP 5.6.29
  5. R语言学习笔记(二)处理函数与基本图形绘制
  6. Linux查找历史命令
  7. yolov3训练误差可视化
  8. Stateflow_报错记录
  9. 【java基础知识】判断字符串不为空
  10. [Spark] - HashPartitioner RangePartitioner 区别