BZOJ 2440 中山市選2011 完全平方數

2022-04-30 05:36:09 字數 611 閱讀 6293

bzoj_2440_[中山市選2011]完全平方數_容斥原理

題意:求第k個不是完全平方數倍數的數

分析:二分答案,轉化成1~x中不是完全平方數倍數的數的個數

答案=所有數-1個質數的平方的倍數+2個質數乘積的平方的倍數

=x-x/2^2-x/3^2+x/4^2-x/5^2+x/6^2

發現容斥的係數就是μ

線性篩即可

**:

#include #include #include #include using namespace std;

#define ll long long

int t,n;

bitset<100010>vis;

ll ans;

int prime[100010],miu[100010],cnt;

void init()

for(j=1;j<=cnt&&i*prime[j]<=100000;j++)

miu[i*prime[j]]=-miu[i];}}

}ll check(ll x)

return re;

}int main()

printf("%lld\n",l);

}}

bzoj2440 中山市選2011 完全平方數

time limit 10 sec memory limit 128 mb submit 2219 solved 1067 submit status discuss description 小 x 自幼就很喜歡數。但奇怪的是,他十分討厭完全平方數。他覺得這些 數看起來很令人難受。由此,他也討厭所有...

BZOJ2440 中山市選2011 完全平方數

求第k個非完全平方數 先二分一下,問題變成1 x有多少個非完全平方數,知道平方數的集合,可以容斥一下 為了敘述方便,下文乙個數可代表其平方的倍數的集合 被乙個集合包含的只有質數,被兩個集合包含的是質因數個數為2的數 而且所有考慮的數都不含平方因子,可以發現和 一樣,被考慮進去的數的 值就是他的係數 ...

bzoj2440 中山市選2011 完全平方數

莫比烏斯函式的應用 首先二分答案轉成判定性問題,判定乙個 1,n 有多少數不是完全平方數的倍數。乙個數是完全平方數的充要條件是它包含了某個素數的平方。那麼應用容斥,符合條件的數的個數 n n4 n 9 n25 n36.容易發現,如果乙個數是某個素數的平方,那麼它的係數一定是 1 如果是兩個素數平方的...