小島: 什麼叫做因數分解呢?
doc : 就是將給定的正整數n, 分解為若干個素數連乘的形式.
小島: 那比如說 n=12 呢?
doc : 那麼就是 12 = 2 x 2 x 3 呀.
小島: 嗚嗚, 好難, 居然素數會重複出現, 如果分解後每乙個素數都只出現一次, 我就會.
wish: 這樣來說, 小島可以正確分解的數字不多呀.
doc : 是呀是呀.
wish: 現在問題來了, 對於給定的k, 第 k 個小島無法正確分解的數字是多少?
輸入只有一行, 只有乙個整數 k.
輸出只有一行, 只有乙個整數, 表示小島無法正確分解出來的第k個數字.
10
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
然而1a記錄並沒有喜+1,因為二分上界傻傻寫成了k……用腳想都知道不可能
↓這個二分上界是從黃學長那裡看來的233
1/*by silvern
*/2 #include3 #include4 #include5 #include6 #include7 #include8
#define ll long long
9using
namespace
std;
10const
int mxn=200010;11
ll read()
14while(ch>='
0' && ch<='9')
15return x*f;16}
17int pri[mxn],mu[mxn],cnt=0;18
bool
vis[mxn];
19void
init()
26for(int j=1;j<=cnt && (ll)pri[j]*i)
29 mu[pri[j]*i]=-mu[i];30}
31}32return;33
}34ll calc(ll x)
41int
main()
50else l=mid+1;51
}52 cout53return0;
54 }
vijos1889 天真的因數分解
vijos1889 天真的因數分解 同bzoj2440 中山市選2011 完全平方數 就是改成了求有平方因子數,依舊考慮二分,只是把容斥係數取一下相反數,也就是把莫比烏斯函式求乙個反著的 詳見上方題解鏈結 include include includeconst int maxn 200007 de...
wustoj1889編輯距離
設a和b是兩個字串。我們要用最少的字元操作次數,將字串a轉換為字串b。這裡所說的字元操作共有三種 1 刪除乙個字元 2 插入乙個字元 3 將乙個字元改為另乙個字元。對任的兩個字串a和b,計算出將字串a變換為字串b所用的最少字元操作次數。第一行為字串a 第二行為字串b 字串a和b的長度均小於200。乙...
FZU 1889 龜兔賽跑
problem 1889 龜兔賽跑 萬眾矚目的第七屆龜兔賽跑比賽在北京時間3333年3月3日於火星打響。此次龜兔賽跑比賽的規則與往屆有所不同,不再考察兔子和烏龜誰在最短的時間內跑完規定的路程,而是考察誰在規定時間內跑的路程最長,而且兔子和烏龜在跑步都是勻速的。由於兔子的壞習慣,它總是喜歡把比賽的總時...