摘要: 【题目链接】 点击打开链接 【算法】 线性筛出不大于N的所有素数,枚举gcd(x,y)(设为p),问题转化为求(x,y)=p的个数 设x=x'p, y=y'p,那么有(x,y)=1且1≤x,y≤N/p 转化为求(x,y)=1且1≤x,y≤n的个数 求(x,y)=1且1≤x,y≤N的个数: 若x≥y, 阅读全文
posted @ 2018-03-30 19:08 evenbao 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 px + qy不能表示的最大整数为 pq - p - q 证明见这篇博客,过程很详细,推荐阅读 : https://blog.csdn.net/qwerty1125/article/details/78661916 【代码】 阅读全文
posted @ 2018-03-28 21:44 evenbao 阅读(76) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 按x轴排序,将相邻点连边 按y轴排序,将相邻点连边 然后对这个图跑最短路就可以了,笔者用的是dijkstra算法 【代码】 阅读全文
posted @ 2018-03-24 22:25 evenbao 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 最短路 【代码】 阅读全文
posted @ 2018-03-24 09:58 evenbao 阅读(127) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 最短路,注意不能用dijkstra,要用SPFA 【代码】 阅读全文
posted @ 2018-03-24 09:55 evenbao 阅读(95) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 gcd(i,n)是n的约数 不妨设gcd(i,n) = d 考虑枚举d和gcd(i,n) = d有多少个 gcd(i,n) = d gcd(i/d,n/d) = 1 因为i<=n,所以i/d<=n/d 因此满足gcd(i,n) = d一共有phi(n/d)个 【 阅读全文
posted @ 2018-03-20 21:30 evenbao 阅读(112) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 1.关于求最大公约数的算法 若使用辗转相除法,那么显然会超时 不妨这样思考 : 要求gcd(a,b), 若a为偶数,b为偶数,则gcd(a,b) = 2 * gcd(a/2,b/2) 若a为偶数,b为奇数,则gcd(a,b) = gcd(a/2,b) 若a为奇数 阅读全文
posted @ 2018-03-18 20:47 evenbao 阅读(139) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 其实这就是一道模拟题啦! 在判error和计算时间复杂度时,我们需要用栈这种数据结构 【代码】 这题的代码还是有些难写的,写的时候一定要有条理! 阅读全文
posted @ 2018-03-16 19:14 evenbao 阅读(201) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 前缀和 + 堆 【代码】 阅读全文
posted @ 2018-03-15 21:43 evenbao 阅读(146) 评论(0) 推荐(0) 编辑
摘要: 【题目链接】 点击打开链接 【算法】 不难看出,x1的范围是[x2-P(x2)+1,x2],x0的范围是[x1-P(x1)+1,x1] 我们可以先做一遍线性筛,然后暴力就可以了 【代码】 阅读全文
posted @ 2018-03-14 22:17 evenbao 阅读(226) 评论(0) 推荐(0) 编辑