12.12 CW 模拟赛 T2. 第一题
思路
首先题目转化为
求 \(A \leq n, B \leq m\) , 使得 \(AB\) 为完全平方数的对数
容易想到的是分解 \(A\) 的质因数, 然后我们就需要让 \(B\) 去补齐, 使得 \(AB\) 成为一个完全平方数
容易的, 我们可以计算出 \(B\) 的最小取值, 在这个基础上 \(B\) 还可以加上一些其他的质因数, 只要保证可以被拆分即可
如何计算可能的 \(B\) 的数量成为了最大的问题
我们记最小的 \(B\) 满足 \(AB\) 为完全平方数为 \(res\)
那么问题转化成在 \(B\) 的范围中, \(res \times x^2\) 有多少种, 这个是可以预处理的
时间复杂度 \(\mathcal{O} (\omega n)\) , 其中 \(\omega \leq 30\)
代码
不放了, 实际上是没写
总结
善于利用预处理解决问题