2016大连区域赛 HDU5974 (数论)

昨天开始国庆的区域赛训练,体验还不算太差,也终于知道了心怡师哥为什么可以区域赛拿牌了,想到了一句话,只有经历了才能真正懂。

这个题我推了半天,没有思路,队友换了一种思路,打表找规律,真的是很佩服。看来就是自己平时没有用心做题。以后加油。

先来说一下正确的推理。
题目给力 X+Y = a,lcm(x,y) = b;
这样的话,就可以将式子变形一下,
X+Y = a
X * Y = b * gcd(x,y);
如果这个式子中gcd(x,y)可以求出来就可以解方程了。
又因为已知的是a,b,所以我们现在开始寻求a,b,与gcd(x,y)
假设gcd(x,y) = g
则有 k1 * g = x k2 * g = Y
有gcd(k1,k2) = 1

将上式代入X+Y = a,lcm(x,y) = b
g * (k1 + k2) = a
g * k1 * k2 = b
k1 + k2 = a / g
k1* k2 = b / g
因为gcd(k1,k2) = 1所以gcd(k1+k2,k1k2) = 1
这一步比较难想,可以用反证法来证明一下
如果存在一个大于1约数可以整除 k1 + k2 ,k1k2
不妨设其为z
那样就有[k1 / z + k2 / z]*z 这样的话,z其实是k1 k2 的公共因子,但是又因为gcd(k1,k2) = 1,所以假设错误

接着证明,所以就有 gcd(a / g,b / g) = 1就有
gcd(a,b) = g;这样就有了a,b 与 gcd(x,y) 的关系了,

代码一会儿补上 逃~~

感觉这个题比较好。
总结
关于思维方式的总结,傻狗队友的方式其实相当地科学,其实就是从数据中找规律,这个完全也符合推理的方式,就是在我的思维推理体系中,并不常用 ,这一点一定要结合肖老师说的举例子,要善于举例子,就是从万物向一的方式。
第二点也就是举例子,就是从万物的发现规律,当推理难以进行下去的时候,可以适当的举例,来猜测。

©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页