Vijos1889 天真的因数分解

描述

小岛: 什么叫做因数分解呢?
doc : 就是将给定的正整数n, 分解为若干个素数连乘的形式.
小岛: 那比如说 n=12 呢?
doc : 那么就是 12 = 2 X 2 X 3 呀.
小岛: 呜呜, 好难, 居然素数会重复出现, 如果分解后每一个素数都只出现一次, 我就会.

wish: 这样来说, 小岛可以正确分解的数字不多呀.
doc : 是呀是呀.
wish: 现在问题来了, 对于给定的k, 第 k 个小岛无法正确分解的数字是多少?

格式

输入格式

输入只有一行, 只有一个整数 k.

输出格式

输出只有一行, 只有一个整数, 表示小岛无法正确分解出来的第k个数字.

样例1

样例输入1

10

样例输出1

27

限制

对于30%的数据, k <= 2,000,000
对于100%的数据, 1 <= k <= 10,000,000,000

提示

前 10 个小岛无法正确分解出来的数字依次是: 4 8 9 12 16 18 20 24 25 27

莫比乌斯反演

小于x的可以正确分解的数字个数是 Σmu[i]*(x/i^2),算不能分解正确的只要把mu反一下就行

AC记录喜+1

注意:此代码目前只过了样例,还没有提交测评,不具有可信度。

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cstring>
 4 #include<algorithm>
 5 #include<cmath>
 6 using namespace std;
 7 const int mxn=300010;
 8 int pri[mxn];
 9 int mu[mxn];
10 bool mark[mxn];
11 int cnt=0;
12 long long k;
13 void getmu(){
14     int i,j;
15     mu[1]=1;
16     for(i=2;i<=mxn;i++){
17         if(!mark[i]) pri[++cnt]=i,mu[i]=1;
18         for(j=1;j<=cnt && pri[j]*i<mxn;j++){
19             mark[pri[j]*i]=1;
20             if(i%pri[j]==0){
21                 mu[i*pri[j]]=0;
22                 break;
23             }
24             else mu[i*pri[j]]=-mu[i];
25         }
26     }
27     return;
28 }
29 int calc(int x){
30     long long ans=0,m;
31     m=sqrt(x);
32     for(long long i=2;i<=m;i++){
33         ans+=x/(i*i)*mu[i];
34     }
35     return ans;
36 }
37 int main(){
38     long long ans;
39     getmu();
40     scanf("%d",&k);
41     long long l=k,r=1e10;
42     while(l<=r){
43         int mid=(l+r)>>1;
44         if(calc(mid)>=k)ans=mid,r=mid-1;
45         else l=mid+1;
46     }
47     printf("%d\n",ans);
48     return 0;
49 }
时间: 2024-10-13 08:35:53

Vijos1889 天真的因数分解的相关文章

VIJOS 1889 天真的因数分解 ——莫比乌斯函数

同理BZOJ2440 二分答案,不过这次变成了统计含有平方因子的个数 #include <cmath> #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> using namespace std; #define F(i,j,k) for (ll i=j;i<=k;++i) #define D(i,j,k) for (ll i=j;i&g

VIJOS 1889 天真的因数分解

https://vijos.org/p/1889 同BZOJ2440.. 1 #include<algorithm> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include<iostream> 6 #define N 200000 7 #define ll long long 8 int mul[N+10],mark[N+10],p[N+10]; 9 ll K; 10

[LeetCode] Minimum Factorization 最小因数分解

Given a positive integer a, find the smallest positive integer b whose multiplication of each digit equals to a. If there is no answer or the answer is not fit in 32-bit signed integer, then return 0. Example 1Input: 48 Output: 68 Example 2Input: 15

数学#素数判定Miller_Rabin+大数因数分解Pollard_rho算法 POJ 1811&amp;2429

素数判定Miller_Rabin算法详解: http://blog.csdn.net/maxichu/article/details/45458569 大数因数分解Pollard_rho算法详解: http://blog.csdn.net/maxichu/article/details/45459533 然后是参考了kuangbin的模板: http://www.cnblogs.com/kuangbin/archive/2012/08/19/2646396.html 模板如下: //快速乘 (a

方這太天真太不現實只

方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實只方這太天真太不現實 http://p.sfacg.com/p/6299841/http://p.sfacg.com/p/6287948/http://p.sfacg.com/p/6287952/htt

《上古天真论》第九讲文字版

上古天真论篇第九讲 主讲:徐文兵  主持:梁  冬 播出时间:2009-02-07  23:00—24:00 经文:四八筋骨隆盛,肌肉满壮.五八,肾气衰,发堕齿槁.六八阳气衰竭于上,面焦,发鬃颁白.七八肝气衰,筋不能动.八八天癸渴,精少,肾脏衰,形体皆极,则齿发余.肾者主水,受五脏六腑之精藏之,故五脏盛乃能泻.今五脏皆衰.筋骨解堕,天癸尽矣 梁冬:是的,重新发现,中医太美.大家好,欢迎收听今天晚上的<国学堂>.依然是我们一起来解读<黄帝内经·上古天真论>对面呢仍然是厚扑中医学堂堂主

《上古天真论》第八讲文字版

上古天真论篇第八讲 主讲:徐文兵  主持:梁  冬 播出时间:2009-01-24  23:00—24:00 经文:丈夫八岁,肾气实,发长齿更:二八,肾气盛,天癸至,精气溢泻,阴阳和,故能有子:三八,肾气平均,筋骨劲强,故真牙生而长极 梁冬:是的,重新发现,中医太美.大家好,欢迎收听今天晚上的<国学堂>.我是梁冬,对面的依然是,让我很兴奋的,厚朴中医学堂堂主徐文兵老师.徐文兵老师,您好! 徐文兵:梁冬好!听众朋友们过年好,该过年了. 梁冬:诶!差不多.诶,上一期的时候呢,我们讲到了这个,女子啊

《上古天真论》第三讲文字版

上古天真论篇第三讲 主讲:徐文兵  主持:梁  冬 播出时间:2008-12-20  23:00—24:00      经文:圣人之教下也,皆谓之虚邪贼风,避之有时:恬淡虚无,真气从之,精神内守,病安从来. 梁冬:重新发现中医太美,大家好!欢迎收听今天晚上的国学堂.鄙人是梁冬,在过去的两周里面里呢,我们用了两个小时,每周一个小时,轻轻松松地,啊,认认真真地讲了<黄帝内经>的<上古天真论>第一篇的前50个字,而且呢,我觉得,这次可能是我经历过最愉快的一份工作,因为这份工作可以让我每周

《上古天真论》第二讲文字版

上古天真论篇第二讲 主讲:徐文兵  主持:梁  冬 播出时间:2008-12-20  23:00—24:00     经文:食饮有节,起居有常,不妄作劳,故能形与神俱,而尽其天年,度百岁乃去.今时之人不然也,以酒为浆,以妄为常,醉以入房,以欲竭其精,以耗散其真,不知持满,不时御神,务快其心,逆于生乐,起居无节,故半百而衰也. 梁:辅佐中国文化,发扬光大,大家好我的梁东,在我面前的是我非常尊敬的厚朴中医学堂的堂主徐文兵老师. 徐:梁东好,听众朋友们,大家好! 梁:大家好!我们计划,从新发现中医太美