Loading

【题解】CF571E Geometric Progressions

设有用质数集合为 \(P\)\(P\) 中有质数 \(p\) 的充要条件为 \(\exists i,p|a_ib_i\),可以发现 \(|P|\)\(O(w(\max a_i,b_i)n)\) 级别。

接下来用 \(p_{1},p_{2},\cdots,p_{m=|P|}\) 来表示 \(P\) 中的质数。考虑令 \(c_{i,t}\) 表示最大的 \(k\) 使得 \(p_t^k|a_i\),同理设 \(d_{i,t}\) 表示最大的 \(k\) 使得 \(p_t^k|b_i\)

注意到对于 \(p_t\),如果所有的 \(i\) 都有 \(d_{i,t}=0\) 那么这一个质数就是摆设,如果存在 \(i\) 满足 \(d_{i,t}=0\),那么答案就已经确定,只需要检验是否合法。接下来的情况均有 \(d\not=0\)

考虑最终答案中 \(p_1\) 的次数 \(x\),列出方程:

\[\begin{cases} d_{1,1}|(x-c_{1,1})\\ d_{2,1}|(x-c_{2,1})\\ \cdots\\ d_{n,1}|(x-c_{n,1})\\ c_{1,2}+d_{1,2}\times\frac{x-c_{1,1}}{d_{1,1}}=\cdots=c_{n,2}+d_{n,2}\times\frac{x-c_{n,1}}{d_{n,1}}\\ \cdots\\ c_{1,m}+d_{1,m}\times\frac{x-c_{1,1}}{d_{1,1}}=\cdots=c_{n,m}+d_{n,m}\times\frac{x-c_{n,1}}{d_{n,1}}\\ \end{cases} \]

可以发现我们要求的就是该方程最小的非负整数解 \(x_0\)

先对前 \(n\) 个式子动手。考虑限制 \(d_{i,1}|(x-c_{i,1})\) 可以重新写成 \(x\equiv c_{i,1}\pmod{d_{i,1}}\) 以及 \(x\geq c_{i,1}\) 。如此重写前 \(n\) 个限制,得到了一个同余方程组,考虑按照 excrt 的方法将其逐次合并,最后可以得到一个方程 \(x\equiv w\pmod{h}\),其中 \(h=\mathrm{lcm}(d_{1,1},d_{2,1},\cdots,d_{n,1})\)

也就是说 \(x=w+kh\),现在要找的是最小的非负整数 \(k\)

\[\begin{cases} c_{1,2}+d_{1,2}\times\frac{w+kh-c_{1,1}}{d_{1,1}}=\cdots=c_{n,2}+d_{n,2}\times\frac{w+kh-c_{n,1}}{d_{n,1}}\\ \cdots\\ c_{1,m}+d_{1,m}\times\frac{w+kh-c_{1,1}}{d_{1,1}}=\cdots=c_{n,m}+d_{n,m}\times\frac{w+kh-c_{n,1}}{d_{n,1}}\\ \end{cases} \]

不知道怎么做了。


考虑合并等比数列,合并到最后输出首项即可。

先考虑合并 \(1,2\) 。相当于有若干方程 \(c_{1,i}+d_{1,i}x=c_{2,i}+d_{2,i}y\),去掉本质相同的方程后:

  • 如果剩下大于 \(1\) 个方程,那么有唯一解 \((x,y)\) 或者无解,无解的话说明不存在答案,唯一解相当于等比数列 \(1,2\) 的交集就只有一个数,判断这个数是否都出现过即可。
  • 如果剩下恰好 \(1\) 个方程:无解情况同理。否则用 exgcd 求出最小非负整数解 \(x_0,y_0\),那么合并后的等比数列变成了 \(a=c_{1,1}+d_{1,1}x_0,b=\mathrm{lcm}(d_{1,1},d_{2,1})\)

这种题能写吗?

posted @ 2021-09-03 13:37  Qiuly  阅读(64)  评论(0编辑  收藏  举报