上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 39 下一页
摘要: 存在负环,即:执行 spfa 算法时,一个点被更新了 N 次或 N 次以上,那么一定存在负环。由于无向图任意两点间的简单路径经过的边数均小于 N,且 B F 算法在第 i 轮迭代结束时可以求得经过不超过 i 条边得到的单源最短路。因此, 在 N 1 次迭代时一定可以将所有点的最短路均求出。 更高效率 阅读全文
posted @ 2019-03-16 22:11 shellpicker 阅读(188) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定四个数字 a,b,c,d,求满足 $gcd(a,x)=b,lcm(c,x)=d$ 的 x 的个数。 题解: 解法1:根据 lcm 的性质,x 一定为 d 的约数。因此,直接枚举 d 的约数,并判断是否满足上述条件即可,时间复杂度较高。 解法2:解法一中直接枚举约数会导致有大量不满足条件 阅读全文
posted @ 2019-03-16 17:42 shellpicker 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 $N using namespace std; int n,cnt[15]; long long ans,sum; int p[11]={0,2,3,5,7,11,13,17,19,23,29}; void dfs(int now,long long val,long long su 阅读全文
posted @ 2019-03-16 16:20 shellpicker 阅读(178) 评论(0) 推荐(0) 编辑
摘要: 题目大意:维护一个二维平面,平面上初始有 N 个点,支持两种操作:平面加点、查询距离某个指定点的最小哈密顿距离。 题解:学习到了 kd tree 数据结构。 kd tree 类似于平衡树,即:每个节点都维护了一个点坐标的信息和一个矩形区间的边界,与线段树的 leafy tree 性质不同。不过,由于 阅读全文
posted @ 2019-03-15 20:00 shellpicker 阅读(151) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 n, k,求$\sum\limits_{i=1}^n k\%n$ 的值。 题解:除法分块思想的应用。 $x\%y=x y\lfloor {x\over y}\rfloor$,因此只需快速求出 $\sum\limits_{i=1}^n {k\over i}$ 即可。 引理:$i\in 阅读全文
posted @ 2019-03-14 22:35 shellpicker 阅读(258) 评论(0) 推荐(0) 编辑
摘要: 对于 N 的质因数分解,直接从 2 开始遍历到 $\sqrt n$ 即可,最后如果 N 1,则多计入一个因子即可。 代码如下 cpp include using namespace std; const int maxn=1e5; int n,p[maxn],num[maxn],cnt; int m 阅读全文
posted @ 2019-03-14 19:55 shellpicker 阅读(741) 评论(0) 推荐(0) 编辑
摘要: 题目大意:求出一个给定区间 [l, r] 内相邻素数之间的最大距离和最小距离。 题解:由于 l, r 的范围太大,没法直接用筛法得出区间的素数。考虑筛出区间的素数等价于筛掉区间内的所有和数, 根据算术基本定理,若 $x\in [l,r]$ 为和数,则 x 一定有一个小于 $\sqrt(r)$ 的质因 阅读全文
posted @ 2019-03-13 21:58 shellpicker 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定一个 N 个点,M 条边的无向图,支持 Q 次操作,每次可以向该无向图中加入一条边,并需要回答当前无向图中桥的个数。 题解:(暴力:Q 次 Tarjan) 先进行一次 Tarjan 求出当前图中桥的个数,并求出边双联通分量,缩点之后所有的边双联通分量构成一棵树。考虑每次向该无向图中加边 阅读全文
posted @ 2019-03-12 22:00 shellpicker 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 题目大意:给定 N 个点,M 条边的联通无向图,求出对于每个点来说,将与这个点相连的所有边都去掉后,会少多少个联通的点对 (x,y)。 题解:连通性问题从 DFS 树的角度进行考虑。对于 DFS 树当前的节点来说,若其子节点的 low[] 大于等于子树根节点的时间戳,则将该节点的边去掉后,以该子树的 阅读全文
posted @ 2019-03-11 23:26 shellpicker 阅读(214) 评论(0) 推荐(0) 编辑
摘要: 引理:若图中一个点是割点,则满足: 若该点不是搜索树的根节点:以该点为根的搜索子树中任意节点的 low[] 值均 大于等于 该点的时间戳 dfn[]。 若该点是搜索树的根节点,则必须有两个或两个以上的搜索子树上的节点满足第一条性质。 割点的定义:将该点删去后,新生成的图( 不包括删去的顶点 )会分为 阅读全文
posted @ 2019-03-11 15:59 shellpicker 阅读(461) 评论(0) 推荐(0) 编辑
上一页 1 ··· 17 18 19 20 21 22 23 24 25 ··· 39 下一页