BZOJ 2440: [中山市选2011]完全平方数
2015-09-30 15:06
274 查看
二分,然后用莫比乌斯做就行了...
#include <bits/stdc++.h> using namespace std; typedef long long LL; const int maxn = 50005; int not_prime[maxn]; int prime[maxn]; int mu[maxn]; int K, p_cnt; void Init() { mu[1] = 1; p_cnt = 0; for(int i = 2; i < maxn; i++) { if(!not_prime[i]) { prime[p_cnt++] = i; mu[i] = -1; } for(int j = 0; j < p_cnt && i * prime[j] < maxn; j++) { not_prime[i * prime[j]] = 1; if(i % prime[j]) mu[i * prime[j]] = -mu[i]; else { mu[i * prime[j]] = 0; break; } } } } bool check(LL x) { int tt = sqrt(x); LL res = 0; for(LL i = 1; i <= tt; i++) { res += mu[i] * (x / (i * i)); } return res >= K; } void work() { scanf("%d", &K); LL top = 2e9, bot = 1, mid, res; while(top >= bot) { mid = (bot + top) >> 1; if(check(mid)) res = mid, top = mid - 1; else bot = mid + 1; } printf("%lld\n", res); } int main() { //freopen("data", "r", stdin); Init(); int _; scanf("%d", &_); while(_--) work(); return 0; }
相关文章推荐
- 四、企业号获取 jssdk
- 自定义Adapter
- 二十四点算法 java实现
- 【转】win7下jdk安装环境变量配置
- C# 什么是委托
- ADO.NET 结构
- javascript 中 null和undefined
- java链表的get方法遍历VS使用迭代器遍历
- 编码--隐匿在计算机背后的语言
- SoapUI脚本保存变量,加一BUG
- JAVA基础学习day20--IO流二-缓冲流、字节流
- PIC单片机驱动LCD断码屏代码生成工具
- JVM 优化问题
- TOP K+LRU缓存刷新
- load和get的区别分析
- leetcode 258 :Add Digits
- textview水平滚动
- 多线程系列一——何为线程与java中线程的创建
- java_easyui体系之多级表头及冻结列
- com.microsoft.sqlserver.jdbc.SQLServerExceptionn