hdu 2204 Eddy's爱好
// 一个整数N,1<=N<=1000000000000000000(10^18).
// 输出在在1到N之间形式如M^K的数的总数
// 容斥原理
// 枚举k=集合{2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59}中选取1或多个数乘积的值
而且大于三个质数的乘积就大于60 而2^60>10^18 所以最多只取3个素数
#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>
#include <math.h>
#include <stdio.h>
#include <string.h>
using namespace std;
#define maxm 100010
#define maxn 1000110
int prim[]={,,,,,,,,,,,,,,,,};// 17个
int main()
{
int i,j,ct,mid;
int rc[];
__int64 n,m,ans,tp;
while(scanf("%I64d",&n)!=EOF){
ans=;
// if(n<4) { printf("%d\n",1);continue;}
int x=(<<)-;
for(i=;i<=x;i++){
mid=i;
ct=j=;
while(mid){
if(mid&) rc[ct++]=j;
j++;
if(ct>) break;
mid=mid>>;
}
if(ct>) continue;
tp=;
for(j=;j<ct;j++)
tp=tp*prim[rc[j]];
if(tp>=) continue;
m=pow(n+1.0,1.0/tp);
m++;
while(pow(m,0.0+tp)>n) m--;
if(ct%) ans+=(m-);
else ans-=(m-);
}
printf("%I64d\n",ans+);
}
return ;
}
hdu 2204 Eddy's爱好的更多相关文章
- HDU 2204 Eddy's 爱好 (容斥原理)
<题目链接> 题目大意: Ignatius 喜欢收集蝴蝶标本和邮票,但是Eddy的爱好很特别,他对数字比较感兴趣,他曾经一度沉迷于素数,而现在他对于一些新的特殊数比较有兴趣. 这些特殊数是 ...
- hdu 2204 Eddy's爱好 容斥原理
Eddy's爱好 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem ...
- HDU 2204 Eddy's爱好(容斥原理)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2204 解题报告:输入一个n让你求出[1,n]范围内有多少个数可以表示成形如m^k的样子. 不详细说了, ...
- HDU 2204 Eddy's爱好(容斥原理dfs写法)题解
题意:定义如果一个数能表示为M^k,那么这个数是好数,问你1~n有几个好数. 思路:如果k是合数,显然会有重复,比如a^(b*c) == (a^b)^c,那么我们打个素数表,指数只枚举素数,2^60 ...
- HDU - 2204 Eddy's爱好 (数论+容斥)
题意:求\(1 - N(1\le N \le 1e18)\)中,能表示成\(M^k(M>0,k>1)\)的数的个数 分析:正整数p可以表示成\(p = m^k = m^{r*k'}\)的形 ...
- hdoj 2204 Eddy's爱好
原文链接:http://www.cnblogs.com/DrunBee/archive/2012/09/05/2672546.html 题意:给你一个正整数N,确定在1到N之间有多少个可以表示成M^K ...
- Eddy's爱好(dfs+容斥)
Eddy's爱好 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total S ...
- Eddy's爱好 hdu2204
Eddy's爱好 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...
- hdu2204 Eddy's爱好 打表+容斥原理
Ignatius 喜欢收集蝴蝶标本和邮票,但是Eddy的爱好很特别,他对数字比较感兴趣,他曾经一度沉迷于素数,而现在他对于一些新的特殊数比较有兴趣.这些特殊数是这样的:这些数都能表示成M^K,M和K是 ...
随机推荐
- oracle 条件:1=1或1=0,动态添加条件
看到where语句中有条件:where 1=1 和 1=2或1<>1 用途: 1=1:是为了添加条件时使用and并列其他条件时使用的(动态连接后续条件) 比如: ...
- 树形dp求树的重心
Balancing Act http://poj.org/problem?id=1655 #include<cstdio> #include<cstring> #include ...
- 01-08-01【Nhibernate (版本3.3.1.4000) 出入江湖】NHibernate中的一级缓存
缓存的范围? 1.事务范围 事务范围的缓存只能被当前事务访问,每个事务都有各自的缓存,缓存内的数据通常采用相互关联的对象形式.缓存的生命周期依赖于事务的生命周期,只有当事务结束时,缓存的生命周期才会结 ...
- Open Phone, SMS, Email, Skype and Browser apps of Android in Unity3d
最近项目需要使用Android的一些基本功能,写插件各种悲剧,google了一下,如获至宝.Nice ! string url = String.Format("tel:{0}", ...
- python库:fuzzywuzzy
fuzzywuzzy 用于字符串匹配率.令牌匹配等 复制代码代码如下: from fuzzywuzzy import fuzzfuzz.ratio("Hit me with your bes ...
- JavaScript Madness: Dynamic Script Loading
Introduction I've developed some pretty seriously Javascript intensive sites, where the sheer quanti ...
- POJ3080Blue Jeans
http://poj.org/problem?id=3080 题意 : 给你几个DNA序列,让你找他们的共同的最长的子串,若是子串长度小于3,就输出no significant commonaliti ...
- poj 3270 Cow Sorting
思路:仔细读题,看到FARMER是两两交换牛的顺序进行排序的话,应该就往置换上靠拢,而这个题果然是置换的应用(有的解题报告上说是置换群,其实这只是单个置换,不用让它构成群).我们来将这些无序的牛抽象成 ...
- ios 关于StoryBoard 的简易使用说明
ios 关于StoryBoard 的简易使用说明 http://www.tuicool.com/articles/FNRruy
- maven_Error building POM (may not be this project's POM)错误
如果maven项目在执行编译等操作时报如题错误的话,请仔细检查pom.xml,一般是由pom的语法错误导致的,例如我的项目是因为: dependencies 元素下不应该有properties元素导致 ...