BZOJ 2440 莫比烏斯函式的應用

2021-07-01 23:22:15 字數 646 閱讀 5087

題意:全然平方數是指含有平方數因子的數。求第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 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有是完全平...