上测1

虽然这简拼有点奇怪

T1

对着一个不是很对的式子推了一个小时然后挂了,所以来详细分析一下我推错的那个式子。

对于\(x*(k-x)=k*(k-y)\)其中\(k\)为常数,这个解为正整数的不定方程,可以简单构造几组解,令\(g=gcd(x,k)\),那么有\(\frac{x}{g}*(k-x)=\frac{k}{g}*(k-y)\),因为两个类似分母的值是互质的,所以令\(k-y=\frac{x}{g}\)\(k-x=\frac{k}{g}\),枚举\(k\)的因子作为最大公约数然后就能解出\(x\)最后得到\(y\)并检验是否合法即可。

但是,该做法并不能得到所有解,这是需要注意的。

由题意可以推出我们需要求的实际上只是\(n|i^2\)的个数,考虑什么时候\(i^2\)能够整除\(n\),当且仅当分解质因子后\(n\)的各个质因子都在\(i\)中出现并且个数大于\(n\)中的除以2上取整的结果。

很显然可以通过暴搜搜索出结果,但是这题只关注结果是多少,所以可以将每个数视作合法的最小的那个数的倍数,然后除一下就完了,挺简单的但是考场上想自闭了。

T2

容易发现如果有两个相邻的数不能整除,那么这里一定要断开,如果这个数能加进去,当且仅当它和前一个数的最小公比和原序列一样,最小公比即不能将这个公比写作某个数的\(k\)次方的形式,因为序列不会很长所以可以直接暴力枚举。

posted @ 2020-10-28 11:29  An_Fly  阅读(104)  评论(0编辑  收藏  举报