bzoj 2440: [中山市选2011]完全平方数
来源:互联网 发布:家暴 知乎 编辑:程序博客网 时间:2024/05/22 04:27
2440: [中山市选2011]完全平方数
Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 2562 Solved: 1241
[Submit][Status][Discuss]
Description
小 X 自幼就很喜欢数。但奇怪的是,他十分讨厌完全平方数。他觉得这些
数看起来很令人难受。由此,他也讨厌所有是完全平方数的正整数倍的数。然而
这丝毫不影响他对其他数的热爱。
这天是小X的生日,小 W 想送一个数给他作为生日礼物。当然他不能送一
个小X讨厌的数。他列出了所有小X不讨厌的数,然后选取了第 K个数送给了
小X。小X很开心地收下了。
然而现在小 W 却记不起送给小X的是哪个数了。你能帮他一下吗?
Input
包含多组测试数据。文件第一行有一个整数 T,表示测试
数据的组数。
第2 至第T+1 行每行有一个整数Ki,描述一组数据,含义如题目中所描述。
Output
含T 行,分别对每组数据作出回答。第 i 行输出相应的
第Ki 个不是完全平方数的正整数倍的数。
Sample Input
4
1
13
100
1234567
Sample Output
1
19
163
2030745
HINT
对于 100%的数据有 1 ≤ Ki ≤ 10^9
, T ≤ 50
【分析】
和visoj的那道题一样 传送门
只不过反了过来
还是不知道二分有啥问题
【代码】
//中山市选:完全平方数 #include<iostream>#include<cstdio>#include<algorithm>#include<cmath>#define LL long long#define fo(i,j,k) for(long long i=j;i<=k;i++)using namespace std;const int N=100000;LL miu[100000],p[100000];LL T,k,n;bool b[100000];inline void getmiu(){ miu[1]=1; fo(i,2,N) { if(!b[i]) { p[++p[0]]=i; miu[i]=-1; } for(LL j=1;j<=p[0] && i*p[j]<N;j++) { b[i*p[j]]=1; if(i%p[j]==0) { miu[i*p[j]]=0; break; } miu[i*p[j]]=-miu[i]; } }}LL chai(LL mid){ LL t=sqrt(mid),sum=0,i; fo(i,1,t) sum+=mid/(i*i)*miu[i]; return sum;}int main(){ LL i,j; getmiu(); cin>>T; while(T--) { cin>>k; LL l=k,r=25505460948LL,i,j,ans; while(l<=r) { LL mid=(l+r)/2; if(chai(mid)>=k) ans=mid,r=mid-1; else l=mid+1; } cout<<ans<<endl; } return 0;}
1 0
- bzoj 2440: [中山市选2011]完全平方数
- BZOJ系列2440《[中山市选2011]完全平方数》题解
- 【bzoj 2440】: [中山市选2011]完全平方数
- BZOJ 2440: [中山市选2011]完全平方数
- bzoj 2440: [中山市选2011]完全平方数
- 完全平方数 [Bzoj 2440,中山市选2011]
- BZOJ 2440 [中山市选2011]完全平方数
- BZOJ 2440: [中山市选2011]完全平方数
- bzoj 2440: [中山市选2011]完全平方数
- BZOJ 2440 [中山市选2011] 完全平方数
- BZOJ 2440 [中山市选2011]完全平方数
- BZOJ 2440: [中山市选2011]完全平方数
- BZOJ 2440 [中山市选2011]完全平方数
- BZOJ 2440: [中山市选2011]完全平方数
- [BZOJ]2440: [中山市选2011]完全平方数
- BZOJ 2440 中山市选2011 完全平方数
- 【BZOJ】2440 [中山市选2011]完全平方数 容斥
- 2440: [中山市选2011]完全平方数
- android 打包成jar包(转)
- SQL的基本操作
- Lowest Common Ancestor of a Binary Search Tree
- ObjectARX简单功能实现
- Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'to-many key not all
- bzoj 2440: [中山市选2011]完全平方数
- JVM概念之Java对象的大小与引用类型
- Linux共享内存的内核实现
- 选择排序----堆排序----java实现
- C语言入门(三)菜单设置
- java web项目部署方式
- iOS 开发笔记
- 分享一个提示框
- Android中Recyclerview使用1----实现ListView,GridView,瀑布流样式