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 系列的更多相关文章

  1. DZY Loves Math 系列详细题解

    BZOJ 3309: DZY Loves Math I 题意 \(f(n)\) 为 \(n\) 幂指数的最大值. \[ \sum_{i = 1}^{a} \sum_{j = 1}^{b} f(\gcd ...

  2. DZY Loves Math系列

    link 好久没写数学题了,再这样下去吃枣药丸啊. 找一套应该还比较有意思的数学题来做. [bzoj3309]DZY Loves Math 简单推一下. \[\sum_{i=1}^n\sum_{j=1 ...

  3. [BZOJ] DZY Loves Math 系列 I && II

    为了让自己看起来有点事干 ,做个套题吧..不然老是东翻翻西翻翻也不知道在干嘛... \(\bf 3309: DZY \ Loves \ Math\) 令 \(h=f*\mu\) 很明显题目要求的就是\ ...

  4. 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 ...

  5. [BZOJ3561] DZY Loves Math VI

    (14.10.28改) 本来只想写BZOJ3739:DZY Loves Math VIII的,不过因为和VI有关系,而且也没别人写过VI的题解,那么写下. 不过我还不会插公式…… http://www ...

  6. BZOJ 3309: DZY Loves Math

    3309: DZY Loves Math Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 761  Solved: 401[Submit][Status ...

  7. 【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) ...

  8. 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较小 ...

  9. ●BZOJ 3309 DZY Loves Math

    题链: http://www.lydsy.com/JudgeOnline/problem.php?id=3309 题解: 莫比乌斯反演,线筛 化一化式子: f(x)表示x的质因子分解中的最大幂指数 $ ...

随机推荐

  1. LeetCode 193. Valid Phone Numbers

    分析 难度 易 来源 https://leetcode.com/problems/valid-phone-numbers/ 题目 Given a text file file.txt that con ...

  2. 013-- mysql常用的查询优化方法

    浅谈MySQL中优化sql语句查询常用的30种方法   1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句 ...

  3. NIKTO介绍及使用方法

    1.    NIKTO:perl语言开发的开源WEB安全扫描器:识别网站软件版本:搜索存在安全隐患的文件:检查服务器配置漏洞:检查WEB Application层面的安全隐患:避免404误判(原因:很 ...

  4. "api-ms-win-crt-runtime-l1-1-0.dll 丢失"怎么办?详细解决步骤

    api-ms-win-crt-runtime-l1-1-0.dll 丢失 电脑找不到api-ms-win-crt-runtime-l1-1-0.dll文件解决方法: 问题描述: 1.开机提示" ...

  5. 占位符golang

    定义示例类型和变量 type Human struct { Name string } var people = Human{Name:"zhangsan"} 普通占位符 占位符 ...

  6. partprobe命令详解

    基础命令学习目录首页 原文链接:https://www.jb51.net/LINUXjishu/389836.html linux上,在安装系统之后,可否创建分区并且在不重新启动机器的情况下系统能够识 ...

  7. linux命令系列 stat & touch

    1. stat - display file or file system status stat命令主要用于显示文件或文件系统的状态,详细信息 事实上,stat命令显示的是文件的I节点信息.Linu ...

  8. 前端_JavaScript

    目录 JavaScript的基础 引入方式 JS的变量.常量和标识符 JS的数据类型 运算符 流程控制 JavaScript的对象 String对象 Array对象 Date对象 Math对象 Fun ...

  9. 移动设备检测类Mobile_Detect.php

    移动设备检测类Mobile_Detect.php http://mobiledetect.net/ 分类:PHP 时间:2015年11月28日 Mobile_Detect.php是一个轻量级的开源移动 ...

  10. Scrum Meeting 11.04

    成员 今日任务 明日计划 用时 徐越 学习Fragment相关知识,代码移植 代码移植 4h 赵庶宏 selvet移植,服务器配置,编写数据库 服务器配置,代码移植 4h 薄霖 学习安卓界面设计数据库 ...