摘要: 题目链接:https://www.acwing.com/problem/content/202/ 求解同时满足gcd(a0,x)=a1 和 lcm(b0,x)=b1的x的个数 解法是处理出b1所有的约数,逐一检查是否满足上述两个方程,由于采用试除法时间复杂度到了O(n*sqrt(b1)),大约是1e 阅读全文
posted @ 2020-06-22 23:23 WA自动机~ 阅读(305) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/201/ 求k对1-n所有数取模的和。 证明一段可以作为等差数列来求,证明如下:(转自ACwing) 代码如下: #include<iostream> using namespace std; typedef l 阅读全文
posted @ 2020-06-22 21:43 WA自动机~ 阅读(262) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/200/ 求解[1,N]之间的最大的反素数,有性质: 这个反素数是质因数个数最多的数中最小的一个。 证明:①假设有一个数质因数个数比它多,如果在他前面,不满足反素数的定义,如果在他后面,一定可以找到第一个质因数比 阅读全文
posted @ 2020-06-22 18:26 WA自动机~ 阅读(168) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/199/ 分解N!的质因数,因为N!的质因数不超过N,所以可以先预处理出[1,N]的质数,然后就是简单的求和计算了。 筛法采用的是优化之后的艾式筛法的优化了,算法的时间复杂度是O(n*loglogn),十分接近线 阅读全文
posted @ 2020-06-22 16:11 WA自动机~ 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2689 左右区间位于int大范围内但是区间长度只有1e6,所以可以考虑先筛出根号R内的质数之后用这些质数去筛(L,R)区间的质数,筛的时候注意至少要从2*p开始,因为p为质数 在(L,R)区间内第一个p的倍数和最后一个p的倍数分别是(L 阅读全文
posted @ 2020-06-22 15:40 WA自动机~ 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目链接:https://www.acwing.com/problem/content/184/ 给出正方形和某些边被删除,要求删除最少的边数使得其中没有任何正方形,策略就是将所有的正方形都存起来,可以从图中看见正方形的四条边都是等差数列,边长为5的大正方形拥有60条小边 接下来只要枚举最小的正方形 阅读全文
posted @ 2020-06-22 12:35 WA自动机~ 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=2286 对于24个数组成的#,一共有8中拉的方式,求使得中间8个数相同的最小操作以及操作方式,由于一个结点扩展的分支有7个,所以朴素dfs将会在无法获得最优解的分支上花费太多时间 通过枚举操作次数可以避免dfs搜索过深,并且加上未来估计 阅读全文
posted @ 2020-06-22 10:28 WA自动机~ 阅读(203) 评论(0) 推荐(0) 编辑
摘要: 题目链接:http://poj.org/problem?id=3460 题目给定一个乱序序列,长度为n,其中的数是1-n,操作是将其中一段插入任何一个位置,问最少需要多少次操作能够使得序列有序,超过四次直接输出5ormore 由于每个结点的分支数量达到了560,所以四层直接搜索时间复杂度很高,考虑I 阅读全文
posted @ 2020-06-22 09:17 WA自动机~ 阅读(185) 评论(0) 推荐(0) 编辑