BFS
zxyoi_dreamer
退役了退役了爬了爬了,搞个锤子算法竞赛,不如好好享受大学生活。
展开
-
2018.10.08【SCOI2005】【BZOJ1085】【洛谷P2324】骑士精神(双向BFS)(状态压缩判重)
BZOJ传送门 洛谷传送门 解析: 既然同时限制了步数和终态,那么很显然这是一道双向BFSBFSBFS的裸题。 思路: 首先,每次搜索显然是从空位开始,枚举哪些方向的马跳的过来。 由于询问有多次,所以我们可以直接预处理出终态向前搜999步,然后每次初态向前搜666步看状态有没有交集。 由于一共只有25个空位,蒟蒻zxyoizxyoizxyoi立马想到了状压。 我们可以把每个点(x,y)(x,y)...原创 2018-10-09 00:20:57 · 355 阅读 · 0 评论 -
2018.11.05【校内模拟】列队(BFS)
传送门 解析: 存边为正向正权,反向负权然后BFS看是否出现矛盾就行了。 不然答案中所求的最小值就是所有联通快中左右差值最大的。 代码: #include<bits/stdc++.h> using namespace std; #define ll long long #define re register #define gc getchar #define pc putchar...原创 2018-11-05 14:51:19 · 125 阅读 · 0 评论 -
【YNOI2015】【洛谷P5068】我回来了(BFS)(bitset)
传送门 题解: 珂朵莉真可爱~ 很显然由于nnn只有100010001000,且所有边权,我们可以考虑用bitsetbitsetbitset维护到某个点距离为某个值的所有点,前缀或就是到某个点距离小于某个值的所有点。 对所有满足条件的集合取个并就行了。 代码: #include<bits/stdc++.h> #define ll long long #define re regis...原创 2019-07-29 17:23:31 · 288 阅读 · 1 评论 -
【SCU4444】Travel(BFS)(链表)
传送门 题解: 考虑1到nnn有没有连边,如果没有,直接BFS即可,如果有,我们并不能直接在补图上BFS。 用一个链表维护一下哪些点还没有入队,在进行点uuu的扩展的时候,先把所有与uuu相连的点打个标记就行了。 代码: #include<bits/stdc++.h> #define ll long long #define re register #define cs const...原创 2019-09-10 12:11:17 · 264 阅读 · 0 评论