关于此题[AGC018A] Getting Difference 裴蜀定理的一些总结

传送门

  • 题目大意

给定一个序列和\(k\),每次可以选定序列中两个数,将这两个数的差的绝对值加入序列中,问\(k\)能否出现在序列中

  • 思路

问的其实就是\(k\)能否被该序列中这\(n\)个数线性表示,问题是如何实现。

裴蜀定理:对于两个整数\(a\), \(b\) ,存在\(x\),\(y\)使得\(ax+by=gcd(a,b)\),且\(gcd(a,b)\)为此线性组合能表示的最小值

而此定理推广到n个数同样适用,即:

\(a_{1}x_{1}+a_{2}x_{2}+...+a_{n}x_{n} = gcd(a_{1},a_{2},...,a_{n})\)

于是我们就知道,k如果能出现在新序列中,即能被原序列线性表示,那么它一定是\(gcd(a_{1},a_{2},...,a_{n})\)的倍数。

于是问一个数能否被n个数线性表示问题可以在\(O(n)\)时间内解决

posted @ 2025-02-07 21:39  孤枕  阅读(19)  评论(0)    收藏  举报