1 条题解
-
0
自动搬运
来自洛谷,原作者为

Killer_joke
现实里的麻烦总是免费包邮的。搬运于
2025-08-24 22:57:26,当前版本为作者最后更新于2024-04-30 18:06:58,作者可能在搬运后再次修改,您可在原文处查看最新版自动搬运只会搬运当前题目点赞数最高的题解,您可前往洛谷题解查看更多
以下是正文
给出一个不同于官方题解的还原模意义下的分数的方法。
参考 https://blog.csdn.net/EI_Captain/article/details/117172239 。
假设我们求得了 而且我们知道 。
那么我们有 其中 。
我们考虑利用欧几里得过程还原这个东西。
考虑对 求解 exgcd 的过程,我们实际上约减的每一步都给出一个 的构造。
其中 逐渐减小到 ,所以我们一定可以找到一组 满足 。
的值域就是 exgcd 值域上的最小性。
下面我们说明唯一性,首先 一定互质,假若不互质说明 也不互质,与 exgcd 能求出最大公约数矛盾。
那么假设存在一组 满足 。
作差可得 只要模数满足 , 这便与 矛盾了。
因此这样的对应是唯一的且可以用欧几里得过程自然的求出。
核心代码:
auto approx(i128 p,i128 q,i128 A){ i128 x=q,y=p,a=1,b=0; while(x>A){ std::swap(x,y); std::swap(a,b); a-=x/y*b,x%=y; } return std::make_pair(x,a); }
- 1
信息
- ID
- 8944
- 时间
- 200ms
- 内存
- 512MiB
- 难度
- 6
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者