洛谷p4318 完全平方數

2021-08-20 03:35:39 字數 1242 閱讀 2887

小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而這絲毫不影響他對其他數的熱愛。

這天是小x的生日,小 w 想送乙個數給他作為生日禮物。當然他不能送乙個小x討厭的數。他列出了所有小x不討厭的數,然後選取了第 k個數送給了小x。小x很開心地收下了。

然而現在小 w 卻記不起送給小x的是哪個數了。你能幫他一下嗎?

輸入格式:

包含多組測試資料。檔案第一行有乙個整數 t

t ,表示測試資料的組數。 第 2

2 至第 t+1t+

1 行每行有乙個整數 k_iki

​ ,描述一組資料,含義如題目中所描述。

輸出格式:

含t 行,分別對每組資料作出回答。第 i

i 行輸出相應的第 k_iki

​ 個不是完全平方數的正整數倍的數。

輸入樣例#1:

複製

4 

1 13

100

1234567

輸出樣例#1:

複製

1 

19 163

2030745

對於 50%的資料有 

1 ≤ k_i ≤ 10^51≤

ki​≤

105, 對於 100%的資料有 

1 ≤ k_i ≤ 10^9, t ≤ 501≤

ki​≤

19,t

≤50題解:orz popoqqq

洛谷P4318 完全平方數

求自然數中,第 k 個不含平方因子的數 這道題的做法還挺多的 打表,二分,反演.我用的做法是二分 容斥 顯然答案滿足二分性,假設當前檢驗的數為 n 沒有平方因子的數 所有數 乙個質數平方的因子的倍數 兩個質數乘積平方的倍數 三個的.對於乙個數 i 2 可以發現 mu i 就是 i 2 在上面那個式子...

洛谷P4318 完全平方數

題目大意 求第 k 個無平方因子數。題解 第 k 小 大的問題一般採用二分的方式,通過判定從 1 到當前數中滿足某一條件的數有多少個來進行對上下邊界的轉移。考慮莫比烏斯函式的定義,根據函式值將整數分成了三類,第一類是有平方因子的數,第二類是無平方因子且質因子個數為奇數的數,第三類是無平方因子且質因子...

P4318 完全平方數

想不出什麼辦法能直接算的 別跟我提分塊打表 不如二分答案吧 設 f x sum n i不是 完全平方數 顯然f x 與x正相關。再結合篩法 容斥,不難得到 f x sum mu i lfloor frac rfloor 找到那個滿足f x k的x就行了。include define int long...