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的数的一些信息. 为什么要用线性筛 ...
随机推荐
- python's twenty ninthday for me 模块和包
模块 和 脚本的 区别: 如果一个py文件被导入了,就是一个模块. 如果这个py文件被直接执行,这个被直接执行的文件就是一个脚本. 模块:1,没有具体的调用过程.2,能对外提供功能. pyc文件: ...
- python web指纹获取加目录扫描加端口扫描加判断robots.txt
前言: 总结上几次的信息收集构造出来的. 0x01: 首先今行web指纹识别,然后在进行robots是否存在.后面是目录扫描 然后到使用nmap命令扫描端口.(nmap模块在windows下使用会报停 ...
- flask系列八之请求方法、g对象和钩子函数
一.get方法 ,post方法 post请求在模板中要注意几点: (1)input标签中,要写name来标识这个value的key,方便后台获取. (2)在写form表单的时候,要指定method=' ...
- linux加入windows域之完美方案
运行setup工具 认证配置 选择: “use winbind” “use kerberos” “use winbind authertication” 改为: 删除admin server 其余的改 ...
- 把dataTable表批量的写入数据库
connectionStr:链接字符串:dataTableName数据库中的表:sourceDataTable dataTable的名称 public static void SqlBulkCopyB ...
- Android 创建项目出现No resource found that matches the given name Theme.AppCompat.Light
关于为何出现No resource found that matches the given name ‘Theme.AppCompat.Light’的原因 这边博客已经写的很清楚了 大家可以参考一下 ...
- pt-table-checksum、pt-table-sync核对主从库一致性
一.下载并安装工具http://www.percona.com/downloads/percona-toolkit/目前最新的版本是percona-toolkit_2.2.12.tar.gz上传到服务 ...
- 面试题:volatile关键字的作用、原理
在只有双重检查锁,没有volatile的懒加载单例模式中,由于指令重排序的问题,我确实不会拿到两个不同的单例了,但我会拿到“半个”单例. 而发挥神奇作用的volatile,可以当之无愧的被称为Java ...
- java基础面试题 背过1
web.xml文件中可以配置哪些内容? 答:web.xml用于配置Web应用的相关信息,如:监听器(listener) ContextLoaderListener .过滤器(filter) Strut ...
- java 实现mysql数据库备份
package com.itenp.gen.action; import java.io.BufferedReader; import java.io.FileInputStream; import ...