2023.3.8 闲话
膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy
膜拜国际特级大师 SMTwy
推歌:ダーリン (Darling) - MARETU .
约定素数集为 , 为第 个素数 .
基本定义
定义偏序集 和 的直积(direct product) 满足
考虑偏序集 (整除),根据唯一分解定理,它可以被分解为若干个线性序(或者叫全序)的直积 .
对于第 个素数 ,定义 ,那么「整除偏序集」就可以表示为
熟知 Mo"bius 函数 在线性序 上的表现:
其中 , .
根据定义可以得知,偏序集直积后, 的表现均为乘积 .
那么展开 Mo"bius 函数关于线性序直积的观察,可以得到
其中 是 的唯一分解, 为 的不同素因子数量 .
这其实已经导出了我们熟知的 Mo"bius 函数,根据上式可知,,那么令 ,使用 Mo"bius 反演,可以得到
这就是 OI 中常见的 Mo"bius 反演 .
以上内容的探讨已经广为人知,下面来讨论它的一个应用 .
春季测试 2023 幂次
问 中,有多少整数 能表示为 的形式,其中 .
, .
首先特判 ,那么问题变为 的答案 . 令 表示 能表示为 形式的整数 个数,其中 ,那么答案可以简单表述为
于是只需要快速计算 .
发现一个数可能被多次计算,自然考虑容斥,观察到 ,那么对指数容斥即可 .
偏序集的容斥或许就是对于每个「前缀」的集合做朴素容斥原理(「前缀」大概就是 吧),于是令 即 square-free number 集,在 上容斥,不在 内的数不产生贡献 .
考虑把 拆解为线性序的直积,根据直觉,考虑设计线性序的容斥系数然后乘起来得到 的容斥系数 .
然而线性序的容斥系数是显然的,对于元素 ,如果恰有 个 满足 ,那么容斥系数 (直接考虑对于每个「前缀」的集合做朴素容斥原理).
那么答案的容斥系数就是
(负号是为了算上本身的贡献)
其中 是 的唯一分解 .
结合一下即可得到总的容斥系数就是 .
这样就能算出答案了,复杂度是 .
好像 GCD Matrices 的问题也能用相关做法解决,不过我没详细了解了 .
我也不知道我在写啥,要是看不懂大概是我写挂了可以评论区发一下 .
这个设计好像在 更自然一点, 上有点硬凑的感觉了 .
以下是博客签名,正文无关
本文来自博客园,作者:yspm,转载请注明原文链接:https://www.cnblogs.com/CDOI-24374/p/17195733.html
版权声明:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议(CC BY-NC-SA 4.0)进行许可。看完如果觉得有用请点个赞吧 QwQ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】