time limit: 10 sec memory limit: 128 mb
submit: 966 solved: 457
[submit][status]小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些
數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而
這絲毫不影響他對其他數的熱愛。
這天是小x的生日,小 w 想送乙個數給他作為生日禮物。當然他不能送一
個小x討厭的數。他列出了所有小x不討厭的數,然後選取了第 k個數送給了
小x。小x很開心地收下了。
然而現在小 w 卻記不起送給小x的是哪個數了。你能幫他一下嗎?
包含多組測試資料。檔案第一行有乙個整數 t,表示測試
資料的組數。
第2 至第t+1 行每行有乙個整數ki,描述一組資料,含義如題目中所描述。
含t 行,分別對每組資料作出回答。第 i 行輸出相應的
第ki 個不是完全平方數的正整數倍的數。41
13 100
1234567
119
163
2030745
對於 100%的資料有 1 ≤ ki ≤ 10^9
, t ≤ 50
——分割線——
好吧,這道題是乙個裸的莫比烏斯反演,好吧,在做這題之前我只是知道它,完全不曉得這麼神奇!莫比烏斯函式的定義是如果i質因數分解中有任意乙個大於1的指數就為0,否則為-1。這樣,由這道題的題目和容斥原理,平方數就要加上有奇數個質數平方因子的數,在減去偶數個質數的平方的個數,就是平方數的個數!
具體**嘛:
/*author:wnjxyk*/
#include#include#include#include#includeusing namespace std;
#define ll long long
const int maxn=100000;
ll miu[maxn+10];
inline void getmiu()
}} inline ll check(ll n)
return ans;
}inline ll getans(ll k){
ll left=1,right=k*2+1,mid;
while(left+1
BZOJ 2440 完全平方數
time limit 10 sec memory limit 128 mb submit 966 solved 457 submit status 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而 這絲毫不影...
BZOJ2440 完全平方數
description 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而 這絲毫不影響他對其他數的熱愛。這天是小x的生日,小 w 想送乙個數給他作為生日禮物。當然他不能送一 個小x討厭的數。他列出了所有小x不...
BZOJ 2440 完全平方數
求第k個無平方因子的數 無平方因子數,即分解質因數後所有質因數的次數都為1的數.首先轉化為判定性問題,即1 n中有多少個數為無平方因子數 二分答案.根據容斥原理可得 n以內的無平方因子數 0個質數乘積的平方的倍數的數的個數 即n 1個質數乘積的平方的倍數的數的個數 如4的倍數,9的倍數 2個質數乘積...