# DZY Love Math 系列
DZY Love Math 系列
[BOZJ3309] DZY Loves Math
顺着套路就能得到:\(Ans = \sum_{T=1}\lfloor \frac{n}{T} \rfloor \lfloor \frac{m}{T} \rfloor \sum_{d|T} f(d) \mu(\frac{T}{d})\)。
问题变为求\(\sum_{d|T} f(d) \mu(\frac{T}{d})\)。
你可以见这里。
你还可以见这里。
然而我就是要再写一遍你管我QwQ......
设\(T = \prod_{i=1}^K p_i^{a_i}\),\(d = \prod_{i=1}^Kp_i^{b_i}\),显然有\(a_i\ge b_i\),看到\(\mu\)显然\(|a_i-b_i|\leq 1\)才有意义。
若存在\(a_i>a_j\),则\(b_i\ge b_j\),所以\(b_j\)可以操控符号,即\(f(d) = 0\)。
否则说明\(a_1=a_2...=a_K\),显然只有当\(b_i=a_i-1\)对所有\(i\)都成立时,\(f\)的绝对值大小不一样。
所以\(f(d) = (-1)^{K+1}\),记一下最小质因子和每个数包含的不同质因子数,然后就能线性筛\(f\)了。
[BZOJ3462] DZY Loves Math II
把可用质数\(p\)弄出来,不同的\(p\)不会超过\(7\)个,那么就是求\(\sum_{i=1}^K c_i p_i = n\)的合法\(c_i\)组的个数。
由于\(p_i|S\),所以把方案按照\(c_i\% \frac{S}{p_i}\)后的结果分组,然后背包处理\((S-1)(K+1)\)以内的答案。
每次枚举模后方案的答案\(tS + n\% S\),然后设还需要\(x\)个\(S\),插板分配到\(K\)个质数中即可。
[BZOJ3481] DZY Loves Math III
用扩欧那套理论可得:\(Ans = \sum_{x=1}^{P} gcd(x,P) [gcd(x,P)|Q]\)
枚举\(d = gcd(x,P)\),\(Ans = \sum_{d|P,d|Q} d\varphi(\frac{P}{d})\)。
令\(Q' = gcd(P,Q)\),\(Ans = \sum_{d|P} d[d|Q']\varphi(\frac{P}{d}) = \sum_{d|Q'} d\varphi(\frac{P}{d})\)。
被小胖坑过的童鞋应该都能立刻反应过来这是狄利克雷卷积,只要算每个质因子的答案即可。
枚举一个质因子\(p\),设\(P\)中有\(a\)个,\(Q'\)中有\(b\)个。
若\(a > b\),\(ans(p) = (b + 1)(p-1)p^{a-1}\),若\(a=b\),\(ans(p) = b(p-1)p^{a-1} + p^a\)。
大数分解质因数用一下\(Miller-Rabin\)和\(Pollard-Rho\)就行了。
[BZOJ3512] DZY Loves Math IV
枚举一个\(n\),然后要算\(S(n,m) = \sum_{i=1}^m \varphi(in)\)。
令\(d = gcd(i,n)\)。
顺着套路展开:\(S(n,m) = \sum_{i=1}^m \varphi(i)\varphi(\frac{n}{d})d = \sum_{i=1}^m \varphi(i) \varphi(\frac{n}{d}) \sum_{e|d} \varphi(e)\)。
后面两个玩意合并不了,不过很好解决。
我们设\(n'y = n\),其中\(n'\)为\(n\)的每个质因子各取一个构成的数,\(d' = gcd(i,n')\)。
\(S(n,m) = y\sum_{i=1}^m \varphi(i) \varphi(\frac{n'}{d'})\sum_{e|d'}\varphi(e)\)。
那么此时有\(\frac{n'}{d'} \perp e\),
\(S(n,m) = y\sum_{i=1}^m \varphi(i) \sum_{e|d'}\varphi(\frac{n'}{e}) = y\sum_{i=1}^m \varphi(i) \sum_{e|n',e|i} \varphi(\frac{n'}{e})\)。
\(S(n,m) = y\sum_{e|n'} \varphi(\frac{n'}{e}) \sum_{i=1}^{\lfloor \frac{m}{e} \rfloor} \varphi(ie) = y\sum_{e|n'} \varphi(\frac{n'}{e})S(e,\lfloor \frac{m}{e} \rfloor)\)。
递归做,\(n = 1\)时杜教筛求\(\varphi\)前缀和即可。
[BZOJ3560] DZY Loves Math V
明摆着是叫你算每一个质因子的贡献,然后把它们都乘起来。
考虑欧拉函数\(\varphi(p^t) = (p-1) p^{t-1}\)。
所以每一个质因子的贡献为\((\prod_{i=1}^n (\sum_{j=0}^{c_i} p^j) - 1) (p-1) + 1\),乘起来就行了。
[BZOJ3561] DZY Loves Math VI
顺着套路推(设\(n\leq m\)),可以得到:
\(Ans = \sum_{T=1}^{n} (\sum_{i=1}^{\lfloor \frac{n}{T} \rfloor} i)(\sum_{j=1}^{\lfloor \frac{m}{T} \rfloor} j) \sum_{e|T} (\frac{T}{e})^{\frac{T}{e}} \mu(e) e^{2(\frac{T}{e})}\),暴力算即可。
# DZY Love Math 系列的更多相关文章
- DZY Loves Math 系列详细题解
BZOJ 3309: DZY Loves Math I 题意 \(f(n)\) 为 \(n\) 幂指数的最大值. \[ \sum_{i = 1}^{a} \sum_{j = 1}^{b} f(\gcd ...
- DZY Loves Math系列
link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...
- [BZOJ] DZY Loves Math 系列 I && II
为了让自己看起来有点事干 ,做个套题吧..不然老是东翻翻西翻翻也不知道在干嘛... \(\bf 3309: DZY \ Loves \ Math\) 令 \(h=f*\mu\) 很明显题目要求的就是\ ...
- BZOJ DZY Loves Math系列
⑤(BZOJ 3560) $\Sigma_{i_1|a_1}\Sigma_{i_2|a_2}\Sigma_{i_3|a_3}\Sigma_{i_4|a_4}...\Sigma_{i_n|a_n}\ph ...
- [BZOJ3561] DZY Loves Math VI
(14.10.28改) 本来只想写BZOJ3739:DZY Loves Math VIII的,不过因为和VI有关系,而且也没别人写过VI的题解,那么写下. 不过我还不会插公式…… http://www ...
- BZOJ 3309: DZY Loves Math
3309: DZY Loves Math Time Limit: 20 Sec Memory Limit: 512 MBSubmit: 761 Solved: 401[Submit][Status ...
- 【BZOJ】3309: DZY Loves Math 莫比乌斯反演优化
3309: DZY Loves Math Description 对于正整数n,定义f(n)为n所含质因子的最大幂指数.例如f(1960)=f(2^3 * 5^1 * 7^2)=3, f(10007) ...
- BZOJ 3512: DZY Loves Math IV [杜教筛]
3512: DZY Loves Math IV 题意:求\(\sum_{i=1}^n \sum_{j=1}^m \varphi(ij)\),\(n \le 10^5, m \le 10^9\) n较小 ...
- ●BZOJ 3309 DZY Loves Math
题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3309 题解: 莫比乌斯反演,线筛 化一化式子: f(x)表示x的质因子分解中的最大幂指数 $ ...
随机推荐
- CentOS7上部署ASP.Net Core 2.2应用
前言 在CentOS7上部署ASP.Net Core应用是我的技术路线验证的一部分,下一个产品计划采用ASP.Net Boilerplate Framework开发.因此需要求提前进行一下技术验证,在 ...
- LeetCode-63.不同路径Ⅱ
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). 现在考虑网 ...
- MyBatis思维导图
1.初识框架技术 2.搭建MyBatis环境 3.掌握MyBatis的核心API 4.掌握MyBatis的核心配置文件:主要用于配置数据库连接和MyBatis运行时所需的各种特性 5.掌握SQL映射文 ...
- 编译Android VNC Server
1,在如下地址checkout源代码,我checkout的版本为0.9.7http://code.google.com/p/android-vnc-server/source/checkout 2,在 ...
- Python基础系列讲解——继承派生和组合的概念剖析
Python作为一门面向对象的语言,它的面向对象体系中主要存在这么两种关系,一个是“类”和“实例”的关系,另一个是“父类”和“子类”的关系. 所谓“类”是从一堆对象中以抽象的方式把相同的特征归类得到的 ...
- 自定义UIView怎么注册销毁NSNotification通知
问题描述:在使用天猫tangram框架后.部分组件自定义后会用到通知,但是在iOS 8 系统中,会崩溃? 原因分析:当对象挂掉后,要对应移除注册的通知. 否则当你重复执行发送通知的时候,在iOS8 系 ...
- 为什么要读这本书《java编程思想》
在学校学习编程语言只是浅显的了解,不理解的的东西有很多 ,想通过这本书对java语言有更深的理解,对于以后的学习和工作会有很大的好处.与其了了草草的看你一些书,知其然而不知其所以然,这不是我想要的学习 ...
- 进阶系列(2)—— C#集合
一.集合介绍 集合是.NET FCL(Framework Class Library)的重要组成部分,我们平常撸C#代码时免不了和集合打交道,FCL提供了丰富易用的集合类型,给我们撸码提供了极大的便利 ...
- 进阶系列(12)—— C#异步编程
一.What's 异步? 启动程序时,系统会在内存中创建一个新的进程.进程是构成运行程序资源的集合. 在进程内部,有称为线程的内核对象,它代表的是真正的执行程序.系统会在 Main 方法的第一行语句就 ...
- Leetcode题库——23.合并k个排序链表
@author: ZZQ @software: PyCharm @file: mergeKLists.py @time: 2018/10/12 19:55 说明:合并 k 个排序链表,返回合并后的排序 ...