POJ2142 The Balance 数论(扩展欧几里得算法)

Posted ONION_CYC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了POJ2142 The Balance 数论(扩展欧几里得算法)相关的知识,希望对你有一定的参考价值。

【题意】给定a,b,c,在天平左边放置若干重量a的砝码,在天平右边放置若干重量b的砝码,使得天平两端砝码差为c。设放置x个A砝码和y个B砝码,求x+y的最小值。

【算法】数论(扩展欧几里德算法)

【题解】问题转化为求满足方程ax+by=c,|x|+|y|的最小值。

先用扩展欧几里得算法求得通解。

由原方程得答案分布在y=-a/b*x+c/b(a>0,b>0,c>0),因此是k<0,b>0的直线。

由于斜率一定,min{|x|+|y|}一定出现在x轴两侧或y轴两侧,判断一下即可。

数据比较弱,所以网上很多题解都是最小非负x和y,反例:1 10 29。

以上是关于POJ2142 The Balance 数论(扩展欧几里得算法)的主要内容,如果未能解决你的问题,请参考以下文章

POJ-2142 The Balance(扩展欧几里得)

POJ 2142 The Balance 扩展欧几里得

poj 2142 The Balance 扩展欧几里得

poj 2142 The Balance 扩展欧几里得

POJ2142 The Balance (扩展欧几里德)

POJ 2142 - The Balance [ 扩展欧几里得 ]