題意:全然平方數是指含有平方數因子的數。求第ki個非全然平方數。
解法:比較明顯的二分,getsum(int middle)求1-middle有多少個非全然平方數,然後二分。求1-middle的非全然平方數個數能夠用總數減掉全然平方數個數。計算全然平方數的個數用容斥:
首先加上n/(2*2)+n/(3*3)+n/(5*5)+n/(7*7)...+...然後減掉出現兩次的,然後加上三次的...奇加偶減。這就是mou的原型,用mou陣列計算非常easy;
注意:本題編譯器問題用i64d不能過 而用lld可以過
演算法描述引用:
#include #include #include #include using namespace std;
#define n 50009
typedef long long ll;
int vis[n],mu[n],prim[n];
int top;
void getmu()
return mid;
}int main()
return 0;
}
bzoj 2440 (莫比烏斯函式)
bzoj 2440 完全平方數 題意 找出第k個不是完全平方數的正整數倍的數。例如 4 9 16 25 36什麼的 通過容斥原理,我們減去所有完全數 4有n 4個,但是先36這種會被重複減去,所有我們還需要加上類似36的數,然後你會發現這些數前面的符號和他們開根號的 莫比烏斯函式一樣 資料很大有1e...
BZOJ 2440 莫比烏斯函式
題目鏈結 description 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平方數的正整數倍的數。然而 這絲毫不影響他對其他數的熱愛。這天是小x的生日,小 w 想送乙個數給他作為生日禮物。當然他不能送一 個小x討厭的數。他列出了...
bzoj 2440 莫比烏斯反演應用
2440 中山市選2011 完全平方數 time limit 10 sec memory limit 128 mb submit status discuss description 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平...