
AcWing 878 线性同余方程
对于每组数据,计算$a_i$和$m_i$的最大公约数$d$。 判断$d$是否整除$b_i$: 使用扩展欧几里得算法找到$x$和$y$,使得$a_i x + m_i y = d$。 将系数$x$调整为$x \times (b_i / d)$,然后对$m_i$取模,得到$x_i$。 输出每个$x_i$,如果无解则输出impossible。
发布日期:2021-05-28 16:27:05
浏览次数:29
分类:精选文章
本文共 502 字,大约阅读时间需要 1 分钟。
给定n组数据ai,bi,mi,对于每组数求出一个xi,使得ai乘以xi在模mi下等于bi。如果没有解,就输出impossible。
这个问题属于线性同余方程求解问题。具体来说,对于每一组数据,我们需要解方程:$a_i x_i ≡ b_i (mod m_i)$。这个方程有解的条件是$gcd(a_i, m_i)$能整除$b_i$。如果不满足这个条件,则无解。
当解存在时,我们可以通过扩展欧几里得算法找到$x$和$y$,使得$gcd(a_i, m_i) = a_i x + m_i y$。然后通过调整系数可以得到方程的解$x_i$。
具体步骤如下:
- 如果不整除,输出impossible。
- 如果整除,继续求解。
通过这样的方法,我们可以高效地求解每组对应的$x_i$。
发表评论
最新留言
能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月18日 07时45分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
CreatePointFont使用方法
2019-03-15
No qualifying bean of type 解决办法(总结全网)
2019-03-15
vue使用tinymce5富文本编辑器
2019-03-15
VsCode配置c运行环境
2019-03-15
Stream 某些API
2019-03-15
IDEA如何设置打开多个文件时分行显示
2019-03-15
Face++
2019-03-15
1.RESTFUL
2019-03-15
关于项目中 对Java 的为空判断整理
2019-03-15
测试调用另一台电脑ip是否有用
2019-03-15