Ciyeblog - 2025年1月
https://www.ciyekua.cn/index.php/2025/01/
花开花败总归尘
-
gcd(x,y)=1,l<=x,y<=r,求x,y使得|x-y|最大
https://www.ciyekua.cn/index.php/diary/160.html
2025-01-12T12:20:00+08:00
相关题目:[Problem - D - Codeforces](https://codeforces.com/contest/2043/problem/D "Problem - D - Codeforces")
解法:从大到小枚举x,y距离len(即|x-y|),然后判断gcd(x,x+len)是否==1,若==1则求出解直接return。这种方法比直接双重for循环遍历x,y快,虽然两者时间复杂度都是O(n^2),但由于该方法是直接从len大到len小遍历的,相当于提前确定len值,找到结果能提前结束,并且找到两个距离为len的互质数又比较好找,所以跑得比较快;而双重for直接遍历不确定len值,需要完全遍历才能找到最大len值,相当于硬生生跑完了O(n^2)的复杂度,所以较慢。
写法:
for(int len=r-l;len>=0;len--) {
for(int i=l;i
-
三位截断法——判断整除
https://www.ciyekua.cn/index.php/diary/159.html
2025-01-09T23:32:16+08:00
众所周知,我们可以通过各个数位直接相加来判断该数是否能被3或9整除,那么,我们该如何判断一个数能否被7、11、13整除呢?这时候就需要用到 三位截断法 。
详情请见:[被7、11、13整除的整数的特点以及三位截法的原理](https://blog.csdn.net/chengyao66/article/details/131107851 "被7、11、13整除的整数的特点以及三位截法的原理")