首页 > 其他分享 >[MtOI2019]幽灵军团

[MtOI2019]幽灵军团

时间:2023-06-03 10:25:03浏览次数:55  
标签:幽灵 lfloor frac gcd sum rfloor MtOI2019 军团 prod

题意

求下面表达式的值,

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} \left( \frac{lcm(i,j)}{gcd(i,k)} \right)^{f(type)} \pmod{p} \]

其中,\(type=\{0,1,2\}\),\(f(type)\)满足:

\[f(0)=1, \]

\[f(1)=i \times j \times k, \]

\[f(2) = gcd(i,j,k). \]

其中, \(A,B,C \leqslant 10^5.\)

Solution

type = 0

拿到这个式子非常兴奋,然后就开始疯狂化简,最终化简成了一个\(O(n\sqrt{n} \log {n})\)的表达式,非常沮丧的是不能满足题目的要求。

我们重新分析这个式子,

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} \left( \frac{lcm(i,j)}{gcd(i,k)} \right) \]

\[=\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} \left( \frac{i \times j}{gcd(i,j) \times gcd(i,k)} \right) \]

不难发现,这个式子的\(i,j,k\)是对称的,相当于我们仅需要计算以下两部分式子的值,然后将其组合起来,

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} i \]

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} \frac{1}{gcd(i,j)} \]

分别来对两个式子进行化简

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} i \]

\[= \prod_{i=1}^{A} i ^ {BC} \]

\[= \left( \prod_{i=1}^{A} i \right) ^ {BC} \]

可以通过预处理前缀积\(O(\log{n})\)实现对于此式的计算。

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} \frac{1}{gcd(i,j)} \pmod{p} \]

\[=\left(\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} gcd(i,j) \right)^{-1} \pmod{p} \]

接下来只计算其本身的值,然后再计算逆元求出答案。

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} gcd(i,j) \]

\[=\left(\prod_{i=1}^{A} \prod_{j=1}^{B} gcd(i,j)\right)^{C} \]

\[\Large {=\left(\prod_{d=1}^{min\{A,B,C\}} d ^{\sum_{i=1}^{\lfloor \frac{A}{d} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{d} \rfloor } \sum_{x|i, x|j} \mu(x)}\right)^{C}} \]

[SDOI2017]数字表格类似的,则有,

\[\Large {\left(\prod_{T=1}^{min\{A,B\}} ( \prod_{d|T} d^{\mu(\frac{T}{x})} ) ^ {\lfloor \frac{A}{T} \rfloor \lfloor \frac{B}{T} \rfloor}\right) ^ C } \]

里面的部分在上述题目中已经处理过了,只需要计算最终得到值的\(C\)次幂,便可以计算出此答案。

type = 1

大致的思路显然跟上面类似,重新推一遍两个式子即可。

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} i ^ {ijk} \]

\[=\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} (i ^ {i}) ^ {jk} \]

\[= (\prod_{i=1}^{A} i ^ {i}) ^ {\sum_{j=1}^{B} \sum_{k=1}^{C} jk} \]

记\(S(n) = \sum_{i=1}^{n} i = \frac{n \times (n + 1)}{2}\),则有,

\[= (\prod_{i=1}^{A} i ^ {i}) ^ {S(B) \ S(C)} \]

与\(type=0\)类似的,我们可以通过预处理 \(i^i\)的前缀积,然后可以在\(O(\log{n})\)的时间复杂度内求解这一部分的值。

\[\prod_{i=1}^{A} \prod_{j=1}^{B} \prod_{k=1}^{C} (gcd(i,j))^{ijk} \]

\[=\left(\prod_{i=1}^{A} \prod_{j=1}^{B} (gcd(i,j))^{ij} \right) ^ {S(C)} \]

\[\Large{=\left(\prod_{d=1}^{min\{A,B\}} d^{d^2 \sum_{i=1}^{\lfloor \frac{A}{d} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{d} \rfloor} i \times j \sum_{x|i, x|j}\mu(x)} \right) ^ {S(C)}} \]

\[\Large{=\left(\prod_{d=1}^{min\{A,B\}} d^{d^2 \sum_{x=1}^{min\{\lfloor \frac{A}{d} \rfloor,\lfloor \frac{B}{d} \rfloor\}}x^2\mu(x)S(\lfloor \frac{A}{xd} \rfloor)\ S(\lfloor \frac{B}{xd} \rfloor)} \right) ^ {S(C)}} \]

记\(T=xd\),则有,

\[\large{\left( \prod_{T=1}^{min\{A,B\}} ( \prod_{d|T} d^{d^2 \mu(\frac{T}{d})} )^{S(\lfloor \frac{A}{T} \rfloor) S(\lfloor \frac{B}{T} \rfloor)} \right) ^ {S(C)} } \]

类似\(type=0\),不难发现 $\prod_{d|T} d ^ {d^2 \mu(\frac{T}{d})} $ 可以枚举因子进行计算,在 \(O(n\sqrt{n})\) 的时间复杂度下完成预处理。

然后对\(T\)进行数论分块,可以在 \(O(\log{n} \sqrt{n}\) 下完成整个式子的计算。

type = 2

60pts

貌似可以卡常a掉这题?反正我的常数太大了(

感谢洛谷题解区peterwuyihong的idea。

对于比较复杂的质数问题,我们可以想到将其进行\(ln\)和\(exp\)操作。

\[\prod_{i=1}^A \prod_{j=1}^B \prod_{k=1}^{C} \left( \frac{lcm(i,j)}{gcd(i,k) }\right) ^ {gcd(i,j,k)} \]

对他取\(ln\)操作:

\[\sum_{i=1}^A \sum_{j=1}^B \sum_{k=1}^{C} \ln{\left( \frac{lcm(i,j)}{gcd(i,k) }\right)} \times gcd(i,j,k) \]

莫比乌斯经典枚举因子,则有,

\[= \sum_{d=1}^{min\{A,B,C\}} \sum_{i=1}^A \sum_{j=1}^B \sum_{k=1}^C \ln{ ( \frac{lcm(i,j)}{gcd(i,k)} ) } \times d \times [gcd(i,j,k)=d] \]

\[= \sum_{d=1}^{min\{A,B,C\}} d \sum_{i=1}^{\lfloor \frac{A}{d} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{d} \rfloor} \sum_{k=1}^{\lfloor \frac{C}{d} \rfloor} \ln{ ( \frac{lcm(id,jd)}{gcd(id,kd)} ) } \times [gcd(i,j,k)=1] \]

\[= \sum_{d=1}^{min\{A,B,C\}} d\sum_{i=1}^{\lfloor \frac{A}{d} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{d} \rfloor} \sum_{k=1}^{\lfloor \frac{C}{d} \rfloor} \ln{ ( \frac{lcm(id,jd)}{gcd(id,kd)} ) } \sum_{x|gcd(i,j,k)} \mu(x) \]

\[= \sum_{d=1}^{min\{A,B,C\}} d\sum_{x=1}^{min\{\lfloor \frac{A}{d} \rfloor,\lfloor \frac{B}{d} \rfloor\lfloor \frac{C}{d} \rfloor\}} \mu(x) \sum_{i=1}^{\lfloor \frac{A}{xd} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{xd} \rfloor} \sum_{k=1}^{\lfloor \frac{C}{xd} \rfloor} \ln{ ( \frac{lcm(ixd,jxd)}{gcd(ixd,kxd)} ) } \]

记\(T=xd\),则有

\[= \sum_{T=1}^{min\{A,B,C\}} \sum_{d|T} (\mu(d) \frac{T}{d} \sum_{i=1}^{\lfloor \frac{A}{T} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{T} \rfloor} \sum_{k=1}^{\lfloor \frac{C}{T} \rfloor} \ln{ ( \frac{lcm(iT,jT)}{gcd(iT,kT)} )} \]

\[= \sum_{T=1}^{min\{A,B,C\}} \sum_{d|T} (\mu(d) \frac{T}{d} )\sum_{i=1}^{\lfloor \frac{A}{T} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{T} \rfloor} \sum_{k=1}^{\lfloor \frac{C}{T} \rfloor} \ln{ ( \frac{lcm(i,j)}{gcd(i,k)} )} \]

\[= \sum_{T=1}^{min\{A,B,C\}} \varphi(T)\sum_{i=1}^{\lfloor \frac{A}{T} \rfloor} \sum_{j=1}^{\lfloor \frac{B}{T} \rfloor} \sum_{k=1}^{\lfloor \frac{C}{T} \rfloor} \ln{ ( \frac{lcm(i,j)}{gcd(i,k)} )} \]

然后将其\(exp\)一下,得到结果,

\[= \prod_{T=1}^{min\{A,B,C\}} (\prod_{i=1}^{\lfloor \frac{A}{T} \rfloor} \prod_{j=1}^{\lfloor \frac{B}{T} \rfloor} \prod_{k=1}^{\lfloor \frac{C}{T} \rfloor} \frac{lcm(i,j)}{gcd(i,k)} )^{\varphi(T)} \]

\[= \prod_{T=1}^{min\{A,B,C\}} ANS_{type=0}(\lfloor \frac{A}{T} \rfloor,\lfloor \frac{B}{T} \rfloor,\lfloor \frac{C}{T} \rfloor)^{\varphi(T)} \]

然后可以调用\(type=1\)的结果,就可以完成计算,但是由于\(type=2\)时多存在一个\(O(\sqrt{n})\),故在时间上比较紧张。

100pts

先让我研究明白awa

Code

还没写完,别急awa

后记

这个题的数学公式也太复杂了...

不得不把公式字体放大,然后又显得太蠢了...

莫比乌斯反演《基础》练习题

标签:幽灵,lfloor,frac,gcd,sum,rfloor,MtOI2019,军团,prod
From: https://www.cnblogs.com/abigjiong/p/17452811.html

相关文章

  • npm中存在幽灵依赖吗
    是的,npm中确实存在幽灵依赖(GhostDependencies),也称为虚拟依赖(VirtualDependencies)。幽灵依赖指的是在项目中虽然没有显式引用该依赖,但是存在其他依赖与该依赖版本有冲突,导致该依赖被安装到项目中,占用项目的空间和资源。举个例子,假设项目引用了两个库A和B,库A依赖了库C的......
  • 缤纷精彩的魔幻世界《魔法军团》特色玩法揭秘
    《魔法军团》通过还原冰族与炎族两大阵营的世代斗争,以及主角和皇子一路上受到的诸多考验,建立了许多具挑战性的副本玩法。将灵兽、战场、秘宝、星缘等多种玩法加入游戏,增加了游戏的丰富度和可玩性,也给予你更多探索与挑战的机会。每一处副本都具有一定的难度和凶险,挑战着你军团的强......
  • 解决空白幽灵节点
    空白幽灵节点是什么?这个“空白节点”永远透明,不占据任何宽度,看不见也无法通过脚本获取,就好像幽灵一样,但又确确实实地存在,表现如同文本节点一样,因此,我称之为“幽灵空白节点......
  • P5616 [MtOI2019]恶魔之树 题解
    期望就是来搞笑的。由于有最小公倍数,所以可以想到分解质因数,对于多个数求最小公倍数,取每个质因子的最大指数,最后相乘即可。既然都知道了这个,那么就想到先统计每个数的个......
  • 【题解】P5692 [MtOI2019]手牵手走向明天
    春节前做大分块是什么奇妙传统吗……这个题好想是好想,但是写起来就是另外一回事了……思路分块。第四分块加强版。区间查询,根号分治做法寄了。看到合并颜色可以想到......
  • 大军团作战
    文/王小宇(微信公众号:成事指南) 什么是江湖?江湖不是打打杀杀,江湖是人情世故。 一个程序员的职场江湖第一篇一个程序员的职场江湖第二篇一个程序员的职场江湖第......
  • [MtOI2019]幽灵乐团
    qwe\[\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C\bigg(\frac{\operatorname{lcm}(i,j)}{\gcd(i,k)}\bigg)^{f(type)}\]噔噔咚\(\bold{type=0}\)原式就是\[\frac{\prod_......
  • "幽灵网络" | 华为高效轻量级网络(附源码链接)
    计算机视觉研究院专栏作者:Edison_G这次我们“计算机视觉研究院”免费公开全部内容,有兴趣的可以一起来学习,一起来实践完成一次先进性的过程,该新技术值得好好学习!由于内存和计......
  • luogu P5518 幽灵乐团 / 莫比乌斯反演基础练习题
    重新学习了一下莫比乌斯反演,再来写一次这道题。Part1\[\prod_{i=1}^A\prod_{j=1}^B\prod_{k=1}^C\dfrac{\text{lcm}(i,j)}{\gcd(i,k)}\]\[=\prod_{i=1}^A\prod_{j=1}^B......