BZOJ2440:[中山市选2011]完全平方数(莫比乌斯函数)
Description
小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而这丝毫不影响他对其他数的热爱。
这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一个小X讨厌的数。他列出了所有小X不讨厌的数,然后选取了第 K个数送给了小X。小X很开心地收下了。
然而现在小 W 却记不起送给小X的是哪个数了。你能帮他一下吗?
Input
包含多组测试数据。文件第一行有一个整数 T,表示测试数据的组数。
第2 至第T+1 行每行有一个整数Ki,描述一组数据,含义如题目中所描述。
Output
含T 行,分别对每组数据作出回答。第 i 行输出相应的第Ki 个不是完全平方数的正整数倍的数。
Sample Input
1
13
100
1234567
Sample Output
19
163
2030745
HINT
对于 100%的数据有 1 ≤ Ki ≤ 10^9,T ≤ 50
Solution
PO姐讲的已经很明白了我为什么还要费劲写公式啊
Code
#include<iostream>
#include<cstdio>
#include<cmath>
#define LL long long
#define N (100000+1000)
using namespace std; LL T,x,k,vis[N],prime[N],mu[N],cnt; void Get_mu()
{
mu[]=;
for (int i=; i<=; ++i)
{
if (!vis[i]){prime[++cnt]=i; mu[i]=-;}
for (int j=; j<=cnt && prime[j]*i<=; ++j)
{
vis[prime[j]*i]=true;
if (i%prime[j]==) break;
mu[prime[j]*i]=-mu[i];
}
}
} LL check(LL x)
{
LL ans=;
for (LL i=; i<=sqrt(x); ++i)
ans+=x/(i*i)*mu[i];
return ans;
} int main()
{
scanf("%lld",&T);
Get_mu();
while (T--)
{
scanf("%lld",&k);
LL l=x,r=1e10,mid,now,ans;
while (l<=r)
{
mid=(l+r)>>; now=check(mid);
if (now>=k) ans=mid,r=mid-;
else l=mid+;
}
printf("%lld\n",ans);
}
}
BZOJ2440:[中山市选2011]完全平方数(莫比乌斯函数)的更多相关文章
- BZOJ 2440 [中山市选2011]完全平方数 | 莫比乌斯函数
BZOJ 2440 [中山市选2011]完全平方数 | 莫比乌斯函数 题面 找出第k个不是平方数的倍数的数(1不是平方数, \(k \le 10^9\)). 题解 首先二分答案,问题就转化成了求\([ ...
- Bzoj 2440: [中山市选2011]完全平方数(莫比乌斯函数+容斥原理+二分答案)
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec Memory Limit: 128 MB Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平 ...
- BZOJ2440: [中山市选2011]完全平方数(莫比乌斯+容斥原理)
2440: [中山市选2011]完全平方数 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 4920 Solved: 2389[Submit][Sta ...
- BZOJ2440/洛谷P4318 [中山市选2011]完全平方数 莫比乌斯函数
题意:找到第k个无平方因子数. 解法:这道题非常巧妙的运用了莫比乌斯函数的性质! 解法参考https://www.cnblogs.com/enzymii/p/8421314.html这位大佬的.这里我 ...
- BZOJ.2440.[中山市选2011]完全平方数(莫比乌斯函数 二分)
题目链接 总感觉博客园的\(Markdown\)很..\(gouzhi\),可以看这的. 题意即求第\(k\)个无平方因子数. 无平方因子数(Square-Free Number),即分解之后所有质因 ...
- bzoj2440 [中山市选2011]完全平方数——莫比乌斯+容斥
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2440 莫比乌斯...被难倒... 看TJ:http://hzwer.com/4827.htm ...
- BZOJ 2440 [中山市选2011]完全平方数 ——莫比乌斯函数
$\sum_{i=1}^n[i==d^2*p]$ 其中p无平方因子$=\sum_{d^2\mid n,d>=2}\sum_{i=1}^{\lfloor {n/d^2} \rfloor} \lef ...
- BZOJ2440 中山市选2011完全平方数(容斥原理+莫比乌斯函数)
如果能够知道不大于n的合法数有多少个,显然就可以二分答案了. 考虑怎么求这个.容易想到容斥,即枚举完全平方数.我们知道莫比乌斯函数就是此种容斥系数.筛出来就可以了. 注意二分时会爆int. #incl ...
- BZOJ2440 [中山市选2011]完全平方数
本文版权归ljh2000和博客园共有,欢迎转载,但须保留此声明,并给出原文链接,谢谢合作. 本文作者:ljh2000作者博客:http://www.cnblogs.com/ljh2000-jump/转 ...
随机推荐
- Golang教程:常量
定义常量 常量(constant)表示固定的值,比如:5,-89,"I love Go",67.89 等等. 考虑如下程序: var b string = "I love ...
- Firebird DatabaseAccess WireCrypt DB2Provider
目前最新的Firebird版本是:3.0.3 使用过程的一些必经问题,嵌入式的模式就不再说了. 在使用标准Server版时,第一个要考虑的就是数据库文件的存放位置,默认配置放在windows/syst ...
- log4j记录日志 和 webAppRootKey关系
今天发现一个问题,就是后台从某天开始不再记录日志了,最后发现是 webAppRootKey 的 value 的值必须要和log4j的注入变量要一致. 如下:web.xml文件的 webAppRootK ...
- 如何查找消耗资源较大的SQL
对于优化来讲,查找消耗资源较大的SQL至关重要,下面介绍几个之前用到的SQL. 1.从V$SQLAREA中查询最占用资源的查询. select b.username username,a.disk_r ...
- 八、profile多环境配置
通常我们的程序有着多个环境: 1.开发环境: 2.生产环境. 等 环境的配置各不相同,我们希望通过一个简单的配置来切换环境,而springboot轻松地实现了该功能: 一.多环境需要多配置文件 一般我 ...
- 梯度寻优与logistic算法
一.一些基本概念 最优化:在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优.高中学过的线性规划就是一类典型的最优化问题. 凸集:在集合空间中,凸集就是一个向四周凸起的图形.用数学 ...
- HDU 1561 The more, The Better 经典树形DP
The more, The Better Time Limit: 6000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Oth ...
- linux cut: invalid byte, character or field list Try 'cut --help' for more information.
1. 概述 centos执行简单shell 脚本 报错 cut: invalid byte, character or field listTry 'cut --help' for more info ...
- html简介(自己理解和老师讲课)
首先讲开发网页三种技术:html,css,javascript.html负责网页的结构,css站在没学角度对网页进行美化,javascript负责网页交互,站在用户体验角度设计网页交互效果 而我们所学 ...
- XPath路径表达式笔记(转载)
简单说,xpath就是选择XML文件中节点的方法. 所谓节点(node),就是XML文件的最小构成单位,一共分成7种. - element(元素节点)- attribute(属性节点)- text ( ...