![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
bfs
bfs
gongyuandaye
不要再问我会不会写可持久化非确定状态AC自动分块维护线段平衡仙人掌优化最小费用最大流预处理混合图上莫比乌斯反演莫队带花舞蹈链并查集树状数组套主席树预处理动态DP分治FFT求多项式逆元对数函数的指数函数用可持久化并查集合并最小费用循环流上插头DP了。
展开
-
Gym 102501K Birdwatching (bfs)
题意:n个点,m条边的有向图,给出目标点,求与该点直接相连的点,且这些点不存在第二条路径与目标点相通。题解:bfs先将目标点从图中拿走,再反向建图。用集合s表示能直接到达目标点的点集,我们从这些点开始bfs,若存在两条路径到达点集s中的某个点x,那么x就不符合条件。若继续bfs,复杂度会是n2 ,其实若该点属于点集s,且已经访达两次,那么之后的点不需要再访问了,因为肯定也访达了两次。因为要判环,我们直接用一个vector表示vis,同时存储是从哪个点开始bfs的。#define _CRT_SECU原创 2020-09-18 19:22:18 · 196 阅读 · 0 评论 -
HDU 6853 Jogging (bfs+图上随机游走+概率)
题意:求在坐标图上,随意游走无穷步,回到起点的概率。只能游走gcd(x,y) > 1的坐标。题解:bfs+图上随机游走+概率对于一张n个点的连通图,记起点为s,那么有一个结论,从s出发然后回到s的概率为 (s的度数+1)/(总度数+n)。我们可以从s点开始bfs构建连通图,若图包含了对角线即x==y,那么图是无穷的,概率自然在极限下趋于0。然后我们可以证明这张不包含对角线的连通图,它的大小只有几百,贴一下题解的证明:bfs的时候直接记录度数即可。#define _CRT_SECURE_N原创 2020-09-17 00:46:17 · 751 阅读 · 0 评论 -
CodeForces 1064D Labyrinth (bfs+优先队列)
题意:给出一个图,有障碍,给出起点坐标,以及向左、向右限制的步数,求最多能走多少个点。题解:bfs+优先队列因为向左、向右都限制了步数,导致有的地方因为vis数组的原因无法访问。xxxxxxx...xxxx.x.x....x.x.xx.x......xxxxx..S.....S是起点,假设向右能走5步,那么图中标红的点就无法到达,因为向右走的那条路线将其他路线能走的点的vis置1了。这样一来,我们可以考虑对于剩余步数多的点先走,就不会出现上述情况。我们可以用优先队列来做,注意结构体中原创 2020-06-04 22:48:51 · 171 阅读 · 0 评论 -
CodeForces 995E Number Clicker (双向bfs)
题意:给出起点数字u,和终点数字v,以及模数p,每次可以对u进行+1,-1,取反三种操作中的一种,求最少需要进行多少操作,并给出操作过程。题解:双向bfs时限和范围原因,考虑双向bfs,从起点和终点分别出发。题目给出最多200次操作,可以剪枝。注意从终点出发是反操作,加减要互换。1e9的数据,用map记录访问和路径。存储路径用vector还是稍慢,用数组会快一点。#define _CRT_SECURE_NO_WARNINGS#include<iostream>#include&原创 2020-05-23 15:27:04 · 435 阅读 · 0 评论