
BFS
文章平均质量分 53
PoPoQQQ
这个作者很懒,什么都没留下…
展开
-
BZOJ 2435 NOI2011 道路修建 BFS/DFS
题目大意:给定一棵树(直接给树,不是给图求生成树!),求每条边权值*两边点数之差的和BFS水过即可其实DFS也能过。。。系统栈可能有些不充裕,我们可以利用内嵌汇编手动开大系统栈 详见代码这题读入优化可以优化掉4s左右#include#include#include#include#define stack_size (20001000)#define M 1001001原创 2014-10-10 15:12:57 · 2338 阅读 · 2 评论 -
BZOJ 1967 Ahoi2005 CROSS 穿越磁场 FloodFill+BFS
题目大意:给定平面上的n个正方形,求某个点到另一个点至少穿过多少个边界一开始想对于每个正方形判断一下起点和终点是否在同一侧= = 但是反例显然考虑到n然后跑最短路就行了……由于边权都是1,所以用BFS就能搞出最短路了连边连挂了调了半宿……#include #include #include #include #define M 310using namespace s原创 2015-02-24 02:17:43 · 2166 阅读 · 5 评论 -
BZOJ 3891 [Usaco2014 Dec]Piggy Back BFS
题目大意:给定一张无向图,第一个人从点1出发每走一条边消耗A,第二个人从点2出发每走一条边消耗B,两个人相遇后一起走每走一条边消耗C,两个人到达点n的最小花销分别从点1、点2、点n出发BFS一遍,预处理出每个点到点1、点2、点n的最短路然后枚举两人相遇的点,计算消耗之和即可#include #include #include #include #define M 40400u原创 2015-02-27 20:03:53 · 1380 阅读 · 0 评论 -
BZOJ 3417 Poi2013 Tales of seafaring BFS
题目大意:给定一张无向图,每条边边权都是1,多次询问是否存在某个点到达另一个点的长度为d的路径首先如果s和t是同一点且这个点没有出边 那么s到t只存在长度为0的路径否则:如果s到t有长度为d的路径 那么就一定有长度为d+2的路径因此只要BFS求出s开始到每个点的奇数长度的最短路和偶数长度的最短路就行了为了防止爆内存可以预先将询问离线化时间复杂度O(n(n+m))#inc原创 2015-03-24 12:58:14 · 1765 阅读 · 0 评论 -
BZOJ 1194 HNOI2006 潘多拉的盒子 BFS+Tarjan+拓扑序DP
题目大意:给定一些自动机,如果某个自动机AA能产生的所有串都能在自动机BB中产生,则称BB是AA的一个升级,求最长链 这题TM有毒 数据范围5050,暴力枚举每一对点之间的关系,然后Tarjan缩点求最长链就行了 现在对于一对自动机AA和BB,我想知道AA能产生的所有串是否都能在BB中产生,那么BFS就可以了 我们用一个二元组(x,y)(x,y)表示走了某个串后AA走到了节点xx,BB走到了原创 2015-04-27 18:51:57 · 3459 阅读 · 0 评论 -
BZOJ 4032 HEOI2015 最短不公共子串 后缀自动机+序列自动机+BFS
题目大意:给定字符串A和B,求A最短的子串/子序列S满足S不是B的子串/子序列 这题真TM有毒*2 搞法类似这道题 然后子串是后缀自动机 子序列自然就是序列自动机了= = 每更新一个x节点时所有没有x的后继的节点都连向这个节点 每个节点的parent是这个字母上一次出现的位置 每个字母记录最后一次出现的位置 更新指针时沿着parent指针撸一遍就行了#include <cstdio>#原创 2015-04-27 20:58:40 · 2293 阅读 · 0 评论 -
BZOJ 1138 POI2009 Baj 最短回文路 BFS
题目大意:给定一张有向图,每个点有一个字符,多次求两点的最短回文路据说这道题第一次做的人都会T? 一开始的思路是这样的:令fx,yf_{x,y}表示从点xx走到点yy的最短回文路径,转移fx,y=min{fz,w+2|x−c−>z,w−c−>y}f_{x,y}=min\{f_{z,w}+2|x-c->z,w-c->y\} 然后广搜,果断T了= =冗余的转移太多了…… 正解是这样的: 令gx,原创 2015-05-19 18:48:21 · 1936 阅读 · 0 评论