【学术篇】luogu3768 简单的数学题(纯口胡无代码)
真是一道“简单”的数学题呢~
反演题, 化式子.
\[
ans=\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j) \\ =\sum_{i=1}^n\sum_{j=1}^n\sum_{d=1}^nij[gcd(i,j)=d]\\ =\sum_{d=1}^nd\sum_{i=1}^n\sum_{i=1}^nij[gcd(i,j)=1]\\ =\sum_{d=1}^nd^3\sum_{i=1}^{\left \lfloor \frac nd \right \rfloor}\sum_{j=1}^{\left \lfloor \frac nd \right \rfloor}ij[gcd(i,j)=1] \\ =\sum_{d=1}^nd^3\sum_{i=1}^{\left \lfloor \frac nd \right \rfloor}i\sum_{j=1}^{\left \lfloor \frac nd \right \rfloor}j[gcd(i,j)=1] \\ =\sum_{d=1}^nd^3\sum_{i=1}^{\left \lfloor \frac nd \right \rfloor}i\sum_{j=1}^{\left \lfloor \frac nd \right \rfloor}j\sum_{t|i,j}\mu(t) \\ i=tp,j=tq,\\ =\sum_{d=1}^nd^3\sum_{t=1}^{\left \lfloor \frac nd \right \rfloor}t^2\cdot\mu(t)\sum_{p=1}^{\left \lfloor \frac n{td} \right \rfloor}p\sum_{q=1}^{\left \lfloor \frac n{td} \right \rfloor}q \\ \because \sum_{i=1}^n=\frac {n(n+1)}2\\ \therefore ans=\sum_{d=1}^nd^3\sum_{t=1}^{\left \lfloor \frac nd \right \rfloor}t^2\cdot\mu(t)[\frac{n(n+1)}{2}]
\]
然后我们令\(T=id\), 枚举\(T\),
\[
ans=\sum_{T=1}^n[\frac{\left \lfloor \frac nT \right \rfloor(\left \lfloor \frac nT \right \rfloor+1)}{2}]^2\sum_{d|T}d^3(\frac Td)^2\mu(\frac Td) \\
=\sum_{T=1}^n[\frac{\left \lfloor \frac nT \right \rfloor(\left \lfloor \frac nT \right \rfloor+1)}{2}]^2T^2\sum_{d|T}d\mu(\frac Td) \\
=\sum_{T=1}^n[\frac{\left \lfloor \frac nT \right \rfloor(\left \lfloor \frac nT \right \rfloor+1)}{2}]^2T^2(n*\mu)(T) \\
=\sum_{T=1}^n[\frac{\left \lfloor \frac nT \right \rfloor(\left \lfloor \frac nT \right \rfloor+1)}{2}]^2T^2\varphi(T)
\]
然后我们令\(X=[\frac{\left \lfloor \frac nT \right \rfloor(\left \lfloor \frac nT \right \rfloor+1)}{2}]^2, f(T)=T^2\varphi(T)\), 这样就变成了
\[
ans=\sum_{T=1}^nXf(T)
\]
\(X\)可以分块然后\(O(1)\)算, 那我们只要能求出\(f(T)\)的前缀和就行了.
那\(n<=10^{10}\)要用杜教筛. 我们想一下杜教筛的通式:
\[
s_f(x)=\frac{s_{f*g}(x)-\sum_{i=2}^ns_f(\left \lfloor \frac ni \right \rfloor)g(i)}{g(1)}
\]
其中\(g(x)\)和\((f*g)(x)\)是易求前缀和的函数.
看到这种乘积的前缀和我们又想到了之前做lcm之和的提出乘积中某一项的高端操作, 我们就试着让\(g(x)\)去卷\(n^2\)(就是\(f(x)=x^2\)啦).
然后
\[
g(x)=(n^2\cdot\varphi)(x) \\
(g*n^2)(x)=((n^2\cdot\varphi)*n^2)(x)=(n^2\cdot(\varphi*1))(x)=(n^2\cdot n)(x)=n^3(x)
\]
然后\(n^3(x)\)的前缀和也是有公式的可以\(O(1)\)算, 这样我们就令\(g(x)=n^2(x), (f*g)(x)=n^3(x)\), 然后扔到上面的杜教筛通式里做就好啦~
复杂度可能是\(O(\sqrt n*n^{\frac 23})\)的, 不过这应该是最优的复杂度了..
代码应该不太好写, 懒得写了QAQ
【学术篇】luogu3768 简单的数学题(纯口胡无代码)的更多相关文章
- [Luogu3768]简单的数学题
题面戳我 题意:求 \[\sum_{i=1}^{n}\sum_{j=1}^{n}ij\gcd(i,j)\] \(n\le10^{10}\) sol \[ans=\sum_{d=1}^{n}d\sum_ ...
- Luogu3768简单的数学题
题目描述 题解 我们在一通化简上面的式子之后得到了这么个东西. 前面的可以除法分块做,后面的∑T2∑dµ(T/d)是积性函数,可以线性筛. 然后这个数据范围好像不太支持线性筛,所以考虑杜教筛. 后面那 ...
- [luogu3768] 简单的数学题 [杜教筛]
题面: 传送门 实际上就是求: 思路: 看到gcd就先反演一下,过程大概是这样: 明显的一步反演 这里设,S(x)等于1到x的和 然后把枚举d再枚举T变成先枚举T再枚举其约数d,变形: 后面其中两项展 ...
- iOS开发UI篇—Quartz2D简单使用(二)
iOS开发UI篇—Quartz2D简单使用(二) 一.画文字 代码: // // YYtextview.m // 04-写文字 // // Created by 孔医己 on 14-6-10. // ...
- 【Luogu3768】简单的数学题(莫比乌斯反演,杜教筛)
[Luogu3768]简单的数学题(莫比乌斯反演,杜教筛) 题面 洛谷 \[求\sum_{i=1}^n\sum_{j=1}^nijgcd(i,j)\] $ n<=10^9$ 题解 很明显的把\( ...
- iOS开发数据库篇—SQLite简单介绍
iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1 ...
- iOS开发UI篇—Quartz2D简单介绍
iOS开发UI篇—Quartz2D简单介绍 一.什么是Quartz2D Quartz 2D是⼀个二维绘图引擎,同时支持iOS和Mac系统 Quartz 2D能完成的工作: 绘制图形 : 线条\三角形\ ...
- 【转】 iOS开发数据库篇—SQLite简单介绍
开始学SQLite啦, 原文: http://www.cnblogs.com/wendingding/p/3868893.html iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中 ...
- iOS开发多线程篇—多线程简单介绍
iOS开发多线程篇—多线程简单介绍 一.进程和线程 1.什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内 比如同时打开QQ.Xcod ...
随机推荐
- Inversion of Control 控制反转 有什么好处
作者:Mingqi链接:https://www.zhihu.com/question/23277575/answer/169698662来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...
- malloc&&fread
const char *wavePath = [_filePath UTF8String]; FILE *fh; int16_t * adbuf; fh = fopen(wavePath, " ...
- ASE——热身作业自我介绍
自我介绍 大家好我是王皓,由于之前忙于保研的机试和面试导致第一次作业就拖到第二次写blog的时候才交(非常抱歉..)我喜欢玩CTF,觉得学习安全方向的知识,寻找软件或者硬件的漏洞是一件非常有意义且有趣 ...
- tex, virtex, initex - 文本格式化和排版
SYNOPSIS 总览 tex [options] [commands] DESCRIPTION 描述 这份手册页并不全面.此版本的 TeX 完整的文档可以从 info 文件或者手册 Web2C: A ...
- 【前端优化】图片延迟加载Lazy-loading的原理与简单实现
1.什么是lazy-loading 图片"懒加载" 为img标签src设置统一的图片链接,而将真实链接地址装在自定义属性中. 所以开始时候图片是不会加载的,我们将满足条件的图片的s ...
- python小项目(-)图片转字符画
# -*- coding: utf-8 -*- from PIL import Image codeLib = '''@B%8&WM#*oahkbdpqwmZO0QLCJUYXzcvunxrj ...
- rest_framework框架实现之(视图,路由,渲染器)
一视图 一 在前面我们使用视图时继承的时APIview from rest_framework.response import Response from rest_framework.paginat ...
- leetcode-164周赛-1266-访问所有点的最小时间
题目描述: 自己的解: class Solution: def minTimeToVisitAllPoints(self, points: List[List[int]]) -> int: re ...
- 【Dart学习】-- Dart之匿名方法 & 回调函数 & 闭包
一,匿名方法定义 (参数1,参数2,....){ 方法体... return 返回值 } 二,匿名方法特性 可赋值给变量,通过变量进行调用 可在其他方法中直接调用或传递给其他方法 void main( ...
- AngularJS 指令实践指南(一)
指令(Directives)是所有AngularJS应用最重要的部分.尽管AngularJS已经提供了非常丰富的指令,但还是经常需要创建应用特定的指令.这篇教程会为你讲述如何自定义指令,以及介绍如何在 ...