hdu 3208 Integer’s Power (坑精度,容斥)
来源:互联网 发布:手机打卡软件 编辑:程序博客网 时间:2024/06/09 23:50
题意:
给出一个范围,求这个范围每个数power的和,power的定理例如:64=2^6,99=99^1,16=2^4,要尽量让指数最大,那么对应的指数就是power。
题解:
枚举指数,计算,然后去重。精度fuck!
#include<iostream>#include<math.h>#include<stdio.h>#include<algorithm>#include<string.h>#include<string>#include<vector>#include<queue>#include<map>#include<set>using namespace std;#define B(x) (1<<(x))void cmax(int& a,int b){ if(b>a)a=b; }void cmin(int& a,int b){ if(b<a)a=b; }typedef __int64 ll;const int oo=0x3f3f3f3f;const ll OO=1LL<<61;const int MOD=1000007;const int maxn=70;const ll INF=(ll)1e18+300;ll cnt[maxn];ll quick_pow(ll a,int k){ ll ans=1; while(k){ if(k&1){ double t=1.0*(INF)/ans; if(t<a)return -1; ans*=a; } k>>=1; if(a>(1LL<<31)&&k>0)return -1; a*=a; } return ans;}ll get_cnt(ll n,int k){ ll ans=(ll)pow(n,1.0/k); ll temp=quick_pow(ans,k); if(temp==n) return ans; if(temp>n||temp==-1) ans--; else{ temp=quick_pow(ans+1,k); if(temp<=n&&temp!=-1) ans++; } return ans;}ll solve(ll n){ if(n<=3)return n; int END=62; cnt[1]=n; for(int i=2;i<63;i++){ cnt[i]=get_cnt(n,i)-1; if(cnt[i]<=0){ END=i-1; break; } } for(int i=END;i>=1;i--){ for(int j=1;j<i;j++){ if(i%j==0) cnt[j]-=cnt[i]; } } ll ans=0; for(int i=1;i<=END;i++) ans+=i*cnt[i]; return ans;}int main(){ //freopen("E:\\read.txt","r",stdin); ll a,b; while(scanf("%I64d %I64d",&a,&b)!=EOF){ if(a==0&&b==0)break; ll ans=solve(b)-solve(a-1); printf("%I64d\n",ans); } return 0;}
0 0
- hdu 3208 Integer’s Power (坑精度,容斥)
- HDU 3208 Integer’s Power 【容斥】
- hdu3208 Integer's Power【容斥原理+精度处理】
- HDU 3208 - Integer's Power (容斥原理)
- HDU 3208 Integer’s Power 指数和、容斥
- hdu 3208 Integer’s Power(容斥原理)
- HDU 3208 Integer's Power(容斥原理、指数和、高精度求开根)
- Integer’s Power HDU
- hdoj Integer’s Power
- HDU 2204 Eddy's爱好 容斥
- hdu 2204 Eddy's爱好 容斥
- HDU 2204 Eddy's爱好 【容斥】
- HDU 2204 Eddy's爱好(容斥)
- 数学(hdu3208 - Integer’s Power)
- HDU 2204 Eddy's爱好(容斥原理)
- hdu 2204 Eddy's爱好(容斥原理)
- hdu-2204-Eddy's爱好(容斥原理)
- hdu 2204 Eddy's爱好 (容斥原理)
- hadoop2.6.0在eclipse下面调试程序看不到日志的解决方法
- 算法导论笔记<2>
- Java代码优雅之道-Guava
- 大数据分析与机器学习领域Python兵器谱
- 北邮OJ 100 二叉树的层数
- hdu 3208 Integer’s Power (坑精度,容斥)
- 用CAEmitterLayer实现粒子动画飘雪花效果
- C++资源[【干货】国外程序员整理的 C++ 资源大全]
- Kaggle比赛-Otto Group Product Classification-打败一半参赛队伍的简单解法
- activity launchMode
- 蓝桥杯 ALGO-90 出现次数最多的整数(水题、细节)
- UVA - 10003 - Cutting Sticks (区间DP)
- 93-Mac配置Apache服务器.
- Vector 的简单实现 C++11