bzoj2440完全平方数
上来先吐槽题面!!!!!!
你跟我说$1$不是完全平方数昂?
看了半天样例啊。
活生生的半天$……$
莫比乌斯 反演 函数容斥一下,每次二分就好
反正本宝宝不知道反演是啥。
每次判断应该是
$$\sum^{ \lfloor \sqrt{x} \rfloor}_{i=1} \frac{x}{i^{2}}*\mu(x)$$
然后二分就好,
打表得出上界,之后就没了
/**************************************************************
Problem: 2440
User: zhangheran
Language: C++
Result: Accepted
Time:4648 ms
Memory:6560 kb
****************************************************************/ #include<iostream>
#include<cstdio>
#include<algorithm>
//#include"suqingnian.h"
using namespace std; int mu[];
const int __n=;
bool __check[];
int __size;
int _num[];
void _prime()
{
for(int _i=;_i<=__n;_i++)
{
if(!__check[_i]) _num[++__size]=_i,mu[_i]=-;
for(int _j=;_j<=__size;_j++)
{
if(_i*_num[_j]>=__n) break;
__check[_num[_j]*_i]=;
if(_i%_num[_j]==) {mu[_i*_num[_j]]=;break;}
mu[_i*_num[_j]]=mu[_i]*mu[_num[_j]];
}
}
mu[]=__check[]=;
return ;
}
// bool _isprime(int __n) {return ~__check[__n];} int t;
long long k;
long long calc(long long x)
{ long long sum=;
for(long long i=;i*i<=x;i++)
sum+=x/(i*i)*mu[i];
// printf("%lld %lld\n",x,sum);
return sum;
}
//long long che(long long l,long long r,long long)
//{
//
//}
long long hint(long long x)
{
long long ans=;
long long l=x,r=;
while(l<=r){
// printf("%lld %lld\n",l,r);
long long mid=l+r>>;
// printf("%lld \n",calc(mid));
if(calc(mid)>=x) ans=mid,r=mid-;
else l=mid+;
}return ans;
}
int main()
{
scanf("%d",&t);
_prime();
while(t--)
{
scanf("%lld",&k);
printf("%lld\n",hint(k));
}
}
bzoj2440完全平方数的更多相关文章
- bzoj2440 完全平方数 莫比乌斯值+容斥+二分
莫比乌斯值+容斥+二分 /** 题目:bzoj2440 完全平方数 链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2440 题意:求第k个小x数 ...
- [BZOJ2440]完全平方数解题报告|莫比乌斯函数的应用
完全平方数 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是小X的生日 ...
- Bzoj2440 完全平方数
Time Limit: 10000MS Memory Limit: 131072KB 64bit IO Format: %lld & %llu Description 小 X 自幼就很 ...
- BZOJ2440完全平方数(莫比乌斯反演)
Description 小 X 自幼就很喜欢数.但奇怪的是,他十分讨厌完全平方数.他觉得这些数看起来很令人难受.由此,他也讨厌所有是完全平方数的正整数倍的数.然而这丝毫不影响他对其他数的热爱. 这天是 ...
- 【二分+容斥+莫比乌斯反演】BZOJ2440 完全平方数
Description 求第k个没有完全平方因子的数,k<=1e9. Solution 这其实就是要求第k个µ[i](莫比乌斯函数)不为0的数. 然而k太大数组开不下来是吧,于是这么处理. 二分 ...
- [中山市选2011][bzoj2440] 完全平方数 [二分+莫比乌斯容斥]
题面 传送门 思路 新姿势get 莫比乌斯容斥 $\sum_{i=1}{n}\mu(i)f(i)$ 这个东西可以把所有没有平方质因子的东西表示出来,还能容斥掉重复的项 证明是根据莫比乌斯函数的定义,显 ...
- [bzoj2440]完全平方数(二分+mobius反演)
解题关键:由容斥原理得,num=1的倍数的数量−一个质数平方数(9,25,49...)的倍数的数量+两个质数的积平方数(36,100,225...)的数量−三个质数...... 这道题用莫比乌斯的正向 ...
- [bzoj2440]完全平方数[中山市选2011][莫比乌斯函数][线性筛][二分答案]
题意:求第k个分解质因子后质因子次数均为一的数,即求第k个无平方因子数. 题解: 首先二分答案mid,那么现在就是要求出mid以内的无平方因子数的个数. 其次枚举$\sqrt{mid}$内的所有质数, ...
- SIEVE 线性筛
今天来玩玩筛 英文:Sieve 有什么筛? 这里介绍:素数筛,欧拉筛,约数个数筛,约数和筛 为什么要用筛? 顾名思义,筛就是要漏掉没用的,留下有用的.最终筛出来1~n的数的一些信息. 为什么要用线性筛 ...
随机推荐
- Educational Codeforces Round 45 (Rated for Div. 2)
A bracket sequence is a string containing only characters "(" and ")". A regular ...
- 《转》我的ARM学习经历
1.基础阶段 话说06年第一份工作从事的是PLC开发,用protel画原理图和PCB,写AVR单片机程序,焊焊板子,还去过华强北买器件,比较杂,但是接触面比较广,为进一步学ARM打下了基础. ...
- Professional C# 6 and .NET Core 1.0 - Creating Hello, World! with Visual Studio
本文为转载,学习研究 Creating Hello, World! with Visual Studio Chapter 1, “.NET Application Architectures,” ex ...
- 【HDU1573】X问题
[题目描述] 求在小于等于N的正整数中有多少个X满足:X mod a[0] = b[0], X mod a[1] = b[1], X mod a[2] = b[2], …, X mod a[i] = ...
- php中不借助IDE快速定位行数或者方法定义的文件和位置
借助了ReflectionMethod的一些特性,可以快速获得函数或者方法是在哪个文件的什么位置定义的,对于调试没有文档的程序来说很有帮助! ---------------- function fun ...
- 520. Detect Capital判断单词有效性
[抄题]: Given a word, you need to judge whether the usage of capitals in it is right or not. We define ...
- Docker 学习笔记_安装和使用MongoDB
一.准备 1.宿主机OS:Win10 64 2.虚拟机OS:Ubuntu18.04 3.账号:docker 二.安装 1.搜索MongoDB镜像 ...
- Java多线程共享变量控制
1. 可见性 如果一个线程对共享变量值的修改,能够及时的被其他线程看到,叫做共享变量的可见性.如果一个变量同时在多个线程的工作内存中存在副本,那么这个变量就叫共享变量 2. JMM(java内存模型) ...
- CompositePattern(23种设计模式之一)
设计模式六大原则(1):单一职责原则 设计模式六大原则(2):里氏替换原则 设计模式六大原则(3):依赖倒置原则 设计模式六大原则(4):接口隔离原则 设计模式六大原则(5):迪米特法则 设计模式六大 ...
- jQuery基础教程-第8章-003Providing flexible method parameters
一.The options object 1.增加阴影效果 (function($) { $.fn.shadow = function() { return this.each(function() ...