首页 > 其他分享 >2023.3.8 闲话

2023.3.8 闲话

时间:2023-03-08 18:56:36浏览次数:42  
标签:mu le 闲话 容斥 mid 2023.3 ge prod

膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy

推歌:ダーリン (Darling) - MARETU .


约定素数集为 \(\mathbb P\),\(p_i\) 为第 \(i\) 个素数 .

基本定义

定义偏序集 \((R_1,\le_1)\) 和 \((R_2,\le_2)\) 的直积(direct product)\((R,\le)=(R_1,\le_1)\times(R_2,\le_2)\) 满足

\[\begin{aligned}&R=R_1\times R_2\\&(x,y)\le(x',y')\iff(x\le_1 x')\land(y\le_2 y')\end{aligned} \]

考虑偏序集 \((\mathbb Z_+,\mid)\)(整除),根据唯一分解定理,它可以被分解为若干个线性序(或者叫全序)的直积 .

对于第 \(i\) 个素数 \(p_i\),定义 \(L_i=\{p_i^x\mid x\in\mathbb N\}\),那么「整除偏序集」就可以表示为

\[(\mathbb Z_+,\mid)=\prod_{i\ge 1}(L_i,\le) \]

熟知 Mo"bius 函数 \(\mu\) 在线性序 \((R,\le)\) 上的表现:

\[\mu(x,y)=\begin{cases}1&x=y\\-1&x+1=y\\0&\text{otherwise.}\end{cases}\qquad(\text{where }x\le y) \]

其中 \(x=y\iff x\le y\land y\le x\),\(x+1=y\iff (\forall z\neq x,y:z<x\lor y<z)\) .

根据定义可以得知,偏序集直积后,\(\delta,\zeta,\mu\) 的表现均为乘积 .

那么展开 Mo"bius 函数关于线性序直积的观察,可以得到

\[\begin{aligned}\mu(x,y)&=\prod_{i\ge 1}\mu_{L_i}(x,y)\\&=\prod_{i\ge 1}\begin{cases}1&e_i=f_i\\-1&e_i+1=f_i\\0&\text{otherwise.}\end{cases}\\&=\begin{cases}0&y/x\text{ is square-free number.}\\(-1)^{\omega(y/x)}&\text{otherwise.}\end{cases}\end{aligned}\qquad(\text{where }x\mid y) \]

其中 \(\displaystyle x=\prod_{i\ge 1}p_i^{e^i},\displaystyle y=\prod_{i\ge 1}p_i^{f_i}\) 是 \(x,y\) 的唯一分解,\(\omega(n)\) 为 \(n\) 的不同素因子数量 .

这其实已经导出了我们熟知的 Mo"bius 函数,根据上式可知,\(\mu(x,y)=\mu\left(1,\dfrac yx\right)\),那么令 \(\mu(x)=\mu(1,x)\),使用 Mo"bius 反演,可以得到

\[f(n)=\sum_{d\mid n}g(d)\iff g(n)=\sum_{d|n}\mu\left(\dfrac{n}{d}\right)f(d) \]

这就是 OI 中常见的 Mo"bius 反演 .

以上内容的探讨已经广为人知,下面来讨论它的一个应用 .

春季测试 2023 幂次

问 \([1,n]\) 中,有多少整数 \(x\) 能表示为 \(x=a^b\) 的形式,其中 \(a\ge 1,b\ge k\) .

\(1\le n\le 10^{18}\),\(1\le k\le 100\) .

首先特判 \(k=1\),那么问题变为 \(k=2\) 的答案 . 令 \(f(n)\) 表示 \([1,n]\) 能表示为 \(x=a^b\) 形式的整数 \(x\) 个数,其中 \(a\ge 1,b\ge 2\),那么答案可以简单表述为

\[f(n)-\sum_{i=2}^{k-1}f(\lfloor\sqrt[i]{n}\rfloor) \]

于是只需要快速计算 \(f\) .

发现一个数可能被多次计算,自然考虑容斥,观察到 \(a^{bx}=(a^b)^x\),那么对指数容斥即可 .

偏序集的容斥或许就是对于每个「前缀」的集合做朴素容斥原理(「前缀」大概就是 \(\{y\mid y<x\}\) 吧),于是令 \(S=\{x\mid \mu(x)\neq 0\}\) 即 square-free number 集,在 \((S,\mid)\) 上容斥,不在 \(S\) 内的数不产生贡献 .

考虑把 \((S,\mid)\) 拆解为线性序的直积,根据直觉,考虑设计线性序的容斥系数然后乘起来得到 \((S,\mid)\) 的容斥系数 .

然而线性序的容斥系数是显然的,对于元素 \(x\),如果恰有 \(z\) 个 \(y\) 满足 \(y<x\),那么容斥系数 \(I(x)=(-1)^y\)(直接考虑对于每个「前缀」的集合做朴素容斥原理).

那么答案的容斥系数就是

\[\begin{aligned}I(x)&=-\prod_{i\ge 1}I_{L_i}(i)\\&=-\prod_{i\ge 1}(-1)^{e_i}\\&=-(-1)^{\omega(x)}\end{aligned} \]

(负号是为了算上本身的贡献)

其中 \(\displaystyle x=\prod_{i\ge 1}p_i^{e_i}\) 是 \(x\) 的唯一分解 .

结合一下即可得到总的容斥系数就是 \(I(x)=-[x\in S](-1)^{\omega(x)}=-\mu(x)\) .

这样就能算出答案了,复杂度是 \(\Theta(k\log n)\) .

好像 GCD Matrices 的问题也能用相关做法解决,不过我没详细了解了 .


我也不知道我在写啥,要是看不懂大概是我写挂了可以评论区发一下 .

这个设计好像在 \(\N_+\) 更自然一点,\(S\) 上有点硬凑的感觉了 .

标签:mu,le,闲话,容斥,mid,2023.3,ge,prod
From: https://www.cnblogs.com/CDOI-24374/p/17195733.html

相关文章

  • 2023.3.8——软件工程日报
    所花时间(包括上课):8h代码量(行):0行博客量(篇):1篇今天,上午学习英语和数据库,下午学习python和数学建模。我了解到的知识点:1.数学建模的一些知识;2.连接sqlite的数据库的插件,......
  • day07 (2023.3.7)
    1.方法小练习: 运行结果:2.方法重载: 3.递归 4.面向对象编程(OOP)  5.类 运行结果: 6.构造方法 7.构造方法的重载 结果循环,进入面向对象。小......
  • 2023.3.7每日总结
    今天学习了获取系统时间并且使用DatePicker标签自由选择时间<DatePickerandroid:layout_margin="10dp"android:id="@+id/select_time"and......
  • 2023.3.7
    最近过的好艰难。从研究生上岸到研一上学期,再到今天,回学校快一个月了。想着去实习,老师也同意了。老师的要求其实很低,会调参就行,具体做下来,真的好难,keras没学过,word2vec文章......
  • 2023.3.7
    其实是3.4那天的模拟赛,那天打的挺崩溃来着,但是后来停电了(就很乐),于是比赛没打完,然后一直没来电就提前放学了捏。今天重赛了,来写写。T1P1169[ZJOI2007]棋盘制作传送门......
  • 2023.3.7每日总结
    开发Android应用也需要以下5步:开发工具安装和配置搭建开发环境在AndroidStudio中,创建第一个项目完成简单Helloworld代码编写编译APK文件,让应用在手机上......
  • 2023.3.6~2023.3.7 日寄
    2023.3.6外培Day0日寄\(~~~~\)这天主打的就是一个摆。\(~~~~\)上午上车前在看《基督山伯爵》,上了车本性暴露直接拿出电脑开摆。先解了半个多小时babaisyou,然后......
  • 2023.3比赛记录
    要退役了......
  • 2023.3.6
    今天学习了python的使用,认真学习并掌握了python中set函数和f‘’的用法。一下是涉及到的题目和代码:输入a,b班的名单,并进行如下统计。输入格式:第1行::a班名单,一串字符串......
  • 2023.3.6软件工程日报
    所花时间:3小时 代码量:100行 博客量:1 今天由于课上验收加了0.5分日期为2023.3.6    此外看了其他优秀同学的作品,深感自己的差距,感觉应该更细化业务逻辑......