2016acmicpc现场赛大连赛区D题
2016-10-18 12:51
148 查看
由原式可假设:k*x1+k*x2=a;k*x1*x2=b;
得
a=(x1+x2)*k;b=x1*x2*k;
得gcd(a,b)=k;很多人可能不懂这是为什么,这里我给出证明及结论
结论:x1与x2互质,则x1+x2与x1*x2互质
证明:反证法,假设x1+x2与x1*x2不互质,则意味着x1*x2与x1+x2有公因子,设为m,x1*x2=k1*m;x1+x2=k2*m;可以得出式子:x1=k1/x2*m;x2=(k2-x1)*m;可以看出,这样x1与x2都有一个公因子m,所以与一开始的条件x1与x2互质矛盾,所以x1*x2与x1+x2是互质的。
OK,证明完成,则原式a=(x1+x2)*k;b=x1*x2*k;k=gcd(a,b),这样2个方程,2个未知数,k,a,b已知,x1,x2可通过O(1)得解。
OK,这样基本完成了,再短短十几行代码,就能切D。
得
a=(x1+x2)*k;b=x1*x2*k;
得gcd(a,b)=k;很多人可能不懂这是为什么,这里我给出证明及结论
结论:x1与x2互质,则x1+x2与x1*x2互质
证明:反证法,假设x1+x2与x1*x2不互质,则意味着x1*x2与x1+x2有公因子,设为m,x1*x2=k1*m;x1+x2=k2*m;可以得出式子:x1=k1/x2*m;x2=(k2-x1)*m;可以看出,这样x1与x2都有一个公因子m,所以与一开始的条件x1与x2互质矛盾,所以x1*x2与x1+x2是互质的。
OK,证明完成,则原式a=(x1+x2)*k;b=x1*x2*k;k=gcd(a,b),这样2个方程,2个未知数,k,a,b已知,x1,x2可通过O(1)得解。
OK,这样基本完成了,再短短十几行代码,就能切D。
相关文章推荐
- 2011 ACM/ICPC 大连赛区现场赛题解:Compress the String
- 大连赛区现场赛D题 ZOJ 3542 Hexadecimal View
- 2011年第36届大连赛区现场赛Board
- 第一次参加acm-icpc现场赛(2016大连赛区)总结
- Hexadecimal View (2011ACM亚洲大连赛区现场赛D题)
- hdu 5912 Fractionl 2016ACM/CCPC长春赛区现场赛B
- HDU 5536 2015ACM-ICPC长春赛区现场赛J题
- 2014ACM/ICPC亚洲区鞍山赛区现场赛 题解
- hdu 5969 最大的位或 2016ACM/CCPC合肥赛区现场赛I
- 大连赛区网赛1005 对方加一条边,我方减一条边最少的费用
- 2011大连赛区网络赛 HDOJ
- zju 3542 Hexadecimal View (大连现场赛水题)
- 2011 ACM/ICPC 北京赛区现场赛解题:ALetter to Programmers
- HDU 4438 Hunters 第37届ACM/ICPC 天津赛区现场赛H题(超级水的题目)
- HDU 4449 Building Design【金华赛区现场赛H题】
- 2012ACM成都赛区现场赛D hdu4467 Graph
- 2012ACM/ICPC成都赛区现场赛K题---Yet Another Multiple Problem(hdu4474)
- 套题总结:2011大连现场赛
- 2012 金华赛区现场赛
- 2014ACM/ICPC亚洲区鞍山赛区现场赛E(hdu 5074)