T1.P3327

知识点:莫比乌斯反演,数论分块

我们知道 \(d(ij) = \sum_{x | i}\sum_{y | j}[\gcd(x,y) == 1]\)。

所以我们就要求 \(\sum^n_{i = 1}\sum^m_{j = 1}\sum_{x | i}\sum_{y | j}[\gcd(x,y) == 1]\)。

即为 \(\sum^n_{i = 1}\sum^m_{j = 1}\lfloor \dfrac{n}{i} \rfloor \times \lfloor \dfrac{m}{j} \rfloor [\gcd(i,j) == 1]\)。

然后我们开始反演。

\[f(x) = \sum^n_{i = 1}\sum^m_{j = 1}\lfloor \dfrac{n}{i} \rfloor \times \lfloor \dfrac{m}{j} \rfloor [\gcd(i,j) == x]
\]
\[g(x) = \sum_{x|d} f(d) = \sum^n_{i = 1}\sum^m_{j = 1}\lfloor \dfrac{n}{i} \rfloor \times \lfloor \dfrac{m}{j} \rfloor [x | \gcd(i,j)]
\]

然后我们将 \(x\) 提出可得 \(g(x) = \sum^{\frac{n}{x}}_{i = 1}\sum^{\frac{m}{x}}_{j = 1}\lfloor \dfrac{n}{i \times x} \rfloor \times \lfloor \dfrac{m}{j \times x} \rfloor\)。

然后我们就考虑如何得到 \(f(1)\)。

由于莫反我们知道 \(f(x) = \sum_{i = 1}^n \mu(i) \times g(i)\)。

然后我们来考虑怎么计算 \(g(x)\)。我们可以先计算 \(s(i) = \sum^{x}_{i = 1} \lfloor \dfrac{x}{i} \rfloor\)。

然后就可以 \(O(1)\) 求出答案了。总复杂度为 \(O(t \sqrt n)\)。

T2.P5518 [MtOI2019] 幽灵乐团 / 莫比乌斯反演基础练习题

非常 nb 的题目,由于太难打 latex 了,我就直接写了下来。

有几张横着的,凑合着看吧

Math Record的更多相关文章

  1. Python基础之【第一篇】

    Python简介: python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语 ...

  2. ORA-02292: integrity constraint (xxxx) violated - child record found

    在更新表的主键字段或DELETE数据时,如果遇到ORA-02292: integrity constraint (xxxx) violated - child record found 这个是因为主外 ...

  3. [Immutable,js] Immutable.Record() as data models

    The Immutable.js Record() allows you to model your immutable data much like you would model data wit ...

  4. SparkStreaming “Could not read data from write ahead log record” 报错分析解决

    # if open wal org.apache.spark.SparkException: Could not read data from write ahead log record FileB ...

  5. Java SE 16 record 类型说明与使用

    Java SE 16 record 类型说明与使用 作者:Grey 原文地址: 博客园:Java SE 16 record 类型说明与使用 CSDN:Java SE 16 record 类型说明与使用 ...

  6. JavaScript中Math对象的方法介绍

    1.比较最值方法 比较最值有两种方法,max() 和 min() 方法. 1.1 max() 方法,比较一组数值中的最大值,返回最大值. var maxnum = Math.max(12,6,43,5 ...

  7. salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type)

    本篇引用以下三个链接: http://www.tgerm.com/2012/01/recordtype-specific-picklist-values.html?m=1 https://github ...

  8. JavaScript Math和Number对象

    目录 1. Math 对象:数学对象,提供对数据的数学计算.如:获取绝对值.向上取整等.无构造函数,无法被初始化,只提供静态属性和方法. 2. Number 对象 :Js中提供数字的对象.包含整数.浮 ...

  9. Chrome V8引擎系列随笔 (1):Math.Random()函数概览

    先让大家来看一幅图,这幅图是V8引擎4.7版本和4.9版本Math.Random()函数的值的分布图,我可以这么理解 .从下图中,也许你会认为这是个二维码?其实这幅图告诉我们一个道理,第二张图的点的分 ...

  10. Math.random()

    Math.random() 日期时间函数(需要用变量调用):var b = new Date(); //获取当前时间b.getTime() //获取时间戳b.getFullYear() //获取年份b ...

随机推荐

  1. mock数据模拟和使用

    安装mock,和案axios npm i mockjs npm i axios 后再vue组件中使用 <script>import axios from 'axios'import Moc ...

  2. vue-manage-system 版本更新,让开发更加简单

    vue-manage-system 近期进行了一次版本升级,主要是支持了更多功能.升级依赖版本和优化样式,并且上线了官方文档网站,大部分功能都有文档或者使用示例,更加适合新手上手开发,只需要根据实际业 ...

  3. 深度解读《深度探索C++对象模型》之C++虚函数实现分析(一)

    接下来我将持续更新"深度解读<深度探索C++对象模型>"系列,敬请期待,欢迎关注!也可以关注公众号:iShare爱分享,自动获得推文和全部的文章列表. 假如有这样的一段 ...

  4. 消息队列 RabbitMQ 遇上可观测--业务链路可视化

    简介: 本篇文章主要介绍阿里云消息队列 RabbitMQ 版的可观测功能.RabbitMQ 的可观测能力相对开源有了全面的加强,为业务链路保驾护航. 作者:文婷.不周 本篇文章主要介绍阿里云消息队列 ...

  5. 这样才是代码管理和 Commit 的正确姿势! | 研发效能提升36计

    ​简介:效能提升从小习惯开始,这样才是代码管理和 Commit 的正确姿势! ​ 专栏策划|雅纯 志愿编辑|张晟 软件交付是以代码为中心的交付过程,其中代码的作用有几点:第一,最终的制品要交付成什么样 ...

  6. [FE] ServerSideRender 加上 PWA 特性的一种处理方式

    SSR 和 PWA 这两块分开讲,需要做不少的处理,现在我们有了一种简便的方式来处理它,就是使用 Quasar 框架. Quasar 支持了 SPA.SSR.PWA.Mobile APP.Electr ...

  7. UOS 开启 VisualStudio 远程调试 .NET 应用之旅

    本文记录的是在 Windows 系统里面,使用 VisualStudio 2022 远程调试运行在 UOS 里面 dotnet 应用的配置方法 本文写于 2024.03.19 如果你阅读本文的时间距离 ...

  8. 实践探讨Python如何进行异常处理与日志记录

    本文分享自华为云社区<Python异常处理与日志记录构建稳健可靠的应用>,作者:柠檬味拥抱. 异常处理和日志记录是编写可靠且易于维护的软件应用程序中至关重要的组成部分.Python提供了强 ...

  9. CF1097C Yuhao and a Parenthesis

    CF1097C Yuhao and a Parenthesis stl 乱搞做法,感觉比正解更直接. 每个字符串内部能匹配的尽可能匹配. 匹配完成后,检验剩余序列是否只含有 ( 或只含有 ) 或为空, ...

  10. telegraph + influxdb + grafana 实现交换机流量展示

    实验环境 influxdb2:2.7.5 telegraf:1.30.1 grafana:10.4.2 influxdb 官方文档见https://docs.influxdata.com/influx ...