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. 安装Visual Studio 2010 教程

    1.下载软件 方法一:关注[ 火耳软件安装 ]公众号获取软件,里面还有很多类型的其他软件 或者: 方法二:我的分享链接:https://pan.baidu.com/s/1_Ow2YR-kbnbSc6o ...

  2. 力扣374(java&python)-猜数字大小(简单)

    题目: 猜数字游戏的规则如下: 每轮游戏,我都会从 1 到 n 随机选择一个数字. 请你猜选出的是哪个数字.如果你猜错了,我会告诉你,你猜测的数字比我选出的数字是大了还是小了.你可以通过调用一个预先定 ...

  3. 聊聊日志硬扫描,阿里 Log Scan 的设计与实践

    简介: SLS 新推出 Scan 功能,让未索引的字段也支持搜索(硬扫描模式),节省全量索引产生的构建和存储费用,同时 Scan 的运行时计算模式对于杂乱结构的日志数据有更好的适配,帮助企业客户实现数 ...

  4. 走近Quick Audience,了解消费者运营产品的发展和演变

    简介: Quick Audience产品是一款云原生面向消费者的营销产品,自诞生以来,经历了三个发展阶段.每个阶段的转变,都与互联网环境和消费者行为的变迁有着极大的关联.   Quick Audien ...

  5. Quick Audience组织和工作空间功能解读

    近期,Quick Audience完成了权限系统全面升级,可以解决集团企业不同品牌.不同运营组织,不同消费者运营的诉求,精细化保障企业数据访问安全,提升管控的灵活度.​ Quick Audience整 ...

  6. SQL server 批量删除表

    select 'drop table '+name+';' from sys.tables declare c cursor forselect NAME from sysobjects where ...

  7. 揭露 FileSystem 引起的线上 JVM 内存溢出问题

    作者:来自 vivo 互联网大数据团队-Ye Jidong 本文主要介绍了由FileSystem类引起的一次线上内存泄漏导致内存溢出的问题分析解决全过程. 内存泄漏定义(memory leak):一个 ...

  8. 四、Doris物化视图

    使用场景:  在实际的业务场景中,通常存在两种场景并存的分析需求:对固定维度的聚合分析 和 对原始明细数据任意维度的分析. 例如,在销售场景中,每条订单数据包含这几个维度信息(item_id, sol ...

  9. VMware最小化安装Centos7.6-无桌面

    目录 安装包工具 新建虚拟机 安装 centos 7.6 系统 终端登陆系统 设置ip地址 关闭防火墙 关闭 SELINUX SELINUX=enforcing 硬盘挂载 桥接上网方式 安装包工具 V ...

  10. 04. rails入门学习 创建控制器

    学习视频 https://www.bilibili.com/video/BV1RJ411W7N3?t=49&p=7 一. 启动rails 启动 cd circles/ #到circles的项目 ...