SRM 613 div1 500pt
来源:互联网 发布:java业务逻辑层设计 编辑:程序博客网 时间:2024/05/01 20:22
Mobius 函数除草。。。
(1)F(n) = sigma (G(d)) d | n
G(n) = sigma (F(d) * miu (n / d)) d | n
还有另外一个表达形式
(2)F(n) = sigma (G(d)) n | d
G(n) = sigma (F(d) * miu (d / n)) n | d
形式(1)的证明利用了逆元的思想,
形式(2)本质上等价于容斥定理(自己想想容斥定理的原理就知道了)
令满足1 <= a <= N, 1 <= b <= N, gcd(a, b) = k的个数为G(k), gcd(a,b)
为k的倍数的个数为F(k)
则有F(n) = sigma(G(d)) n|d
所以有G(n) = sigma(F(d)*miu(d/n)) n| d
到这里本题基本上就解决了,至于Mobius函数的求法可以参见JZB的线性筛。。。
0 0
- SRM 613 div1 500pt
- SRM 598 DIV1 500 pt
- TC SRM 552 DIV1 100PT(数论)
- SRM 500 DIV1 B
- SRM 556 Div1 500
- SRM 542 DIV1 500 StrangeDictionary2
- SRM 559 Div1 500 HatRack
- SRM 562 Div1 500 CheckerFreeness
- SRM 499 DIV2 500pt
- srm 556 div1 500 LeftRightDigitsGame2(DP)
- Topcoder SRM 503 DIV1 500 KingdomXCitiesandVillages
- SRM 465(DIV1 DIV2)
- SRM 465(DIV1 DIV2)
- SRM 144 DIV1 second
- SRM 507 DIV1 B
- SRM 513 DIV1 C
- 1-SRM 144 DIV1
- TC SRM 559 DIV1
- STL之vector的使用四(vector的查找、空、及其它技巧)
- OpenProcess如果碰到五号错误
- 无插件Vim编程技巧
- 读取游戏血值c代码
- linux 打包,压缩命令【实践】
- SRM 613 div1 500pt
- window远程linux桌面
- Eclipse使用问题解决
- oralce误删数据恢复
- cocos2dx2 2.2 拖动指定层
- [转载]使女性产生快感的经穴
- arcgis api for flex之二、开发环境配置
- Z stack工程编译设置学习笔记
- 黑马程序员_OC基础12_基本数据类型block