![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
BFS
芋智波佐助
菜鸟一只
展开
-
UVa 10985 Rings'n'Ropes floyd+BFS
n个戒指 和m跳长度为1 的绳子求左右收拿住2个戒指 最多几条绳子被拉直拿住哪2个不知道 所以两两枚举对于2个戒指之间 可以考虑最短路 然后可能有很多条最短路 在路径统计下就行看懂样例怎么出来的就知道怎么回事了#include #include #include #include using namespace std;const int MAX = 130;int原创 2013-12-16 13:42:42 · 1085 阅读 · 0 评论 -
HDU 4081 Qin Shi Huang's National Road System 次小生成树
给你n个城市 每个城市有一定数量的人 现在要建一颗最小生成树 连接2个城市需要的花费是他们之间的距离可以免费建其中一条边 设A为免费的那条边连接的2个城市的人口之和 B为修建的最小生成树的花费 求最大的A/B先求最小生成树 设总花费为totol 然后可以枚举免费的那条边如果这条边是最小生成树里的边 那么很容易求得A/B 拿totol减去这条边就行了如果不是 那么把这条边加到最小生成原创 2014-10-14 17:19:56 · 848 阅读 · 0 评论 -
Light OJ 1429 Assassin`s Creed (II) BFS+缩点+最小路径覆盖
题目来源:Light OJ 1429 Assassin`s Creed (II)题意:最少几个人走完全图 可以重复走 有向图思路:如果是DAG图并且每个点不能重复走 那么就是裸的最小路径覆盖 现在不是DAG 可能有环 并且每个点可能重复走 对于有环 可以缩点 缩点之后的图是DAG图 另外点可以重复走和POJ 2594一样 先预处理连通性#include #include #incl原创 2014-07-05 12:17:50 · 1987 阅读 · 0 评论 -
UVa 10308 Roads in the North 树的直径
题目来源:UVa 10308 Roads in the North题意:求距离最远的2点之间的距离思路:裸的树的直径 或者树形DP#include #include #include using namespace std;const int maxn = 100010;struct node{ int to, w; node(){} node(int to, int原创 2014-05-13 20:09:21 · 911 阅读 · 0 评论 -
POJ 1679 The Unique MST 次小生成树
题目来源:POJ 1679 The Unique MST题意:判断最小生成树是否唯一 求出次小生成树比较思路:慢一点的方法就是求出最小生成树 每次去掉最小生成树的一条边再求最小生成树 比较慢更好的方法是 求出最小生成树后加上一条没有用到的边 然后必定出现一条回路 去掉回路上权值最大的边 做m-(n-1)次 求一次最小生成树 然后n^2的时间预处理最小生成树上两点之间最大的边权 最后原创 2014-06-01 10:23:01 · 1134 阅读 · 0 评论 -
Light OJ 1108 Instant View of Big Bang 求哪些点能到达负环
题目来源:Light OJ 1108 Instant View of Big Bang题意:求哪些点可以回到过去 首先负环的点是可以的 一直在付欢里转即可 然后那些可以走到负环的点满足思路:反向建图 这样负环还是不会变的 只不过负环的方向换了下 原来能到负环的点变成了现在负环能到的点 求出负环标记然后广搜负环能到的点再标记#include #include #include us原创 2014-06-03 17:27:04 · 1399 阅读 · 0 评论 -
UVa 11624 Fire! / BFS
和普通BFS相比 多了个火 那么先对火做一次BFS 预处理每个格子着火的时间偷懒了 少开个数组 然后错了半天 #include #include #include #include using namespace std;const int MAX = 1010;char a[MAX][MAX];int map[MAX][MAX];struct node{ int原创 2014-01-17 15:20:02 · 1331 阅读 · 0 评论 -
TOJ 2939 解救小Q / 广搜
解救小Q 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte描述小Q被邪恶的大魔王困在了迷宫里,love8909决定去解救她。迷宫里面有一些陷阱,一旦走到陷阱里,就会被困身亡:(,迷宫里还有一些古老的传送阵,一旦走到传送阵上,会强制被传送到传送阵的另一头。现在请你帮助love8909算一算,他至少需要走多少步原创 2013-08-24 00:22:19 · 1319 阅读 · 0 评论 -
TOJ 1335 HDU 1242 ZOJ 1649 营救天使 / 广搜+优先队列
营救天使 时间限制(普通/Java):1000MS/10000MS 运行内存限制:65536KByte描述Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is described as a N * M (N, M Angel's friends want原创 2013-08-24 00:57:40 · 1292 阅读 · 0 评论 -
TOJ 3944 Maze, amazing / 广搜
Maze, amazing时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 描述Let’s play maze game again! Maze problem is an old problem but here comes a challenge one. Max, an intelligent robot, i原创 2013-10-28 16:01:18 · 1145 阅读 · 0 评论 -
TOJ 2690 ZOJ 2849 Attack of Panda Virus / 优先队列+广搜
Attack of Panda Virus时间限制(普通/Java):3000MS/30000MS 运行内存限制:65536KByte描述In recent months, a computer virus spread across networks in China. The virus came with an icon of a lovely pan原创 2013-11-12 13:49:57 · 1431 阅读 · 0 评论 -
TOJ 2822 ZOJ 2749 HDU 1547 Bubble Shooter / 广搜
Bubble Shooter 时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte总提交: 29 测试通过: 9 描述Bubble shooter is a popular game. You can find a lot of versions from the Internet.原创 2013-11-12 21:40:20 · 1322 阅读 · 0 评论 -
TOJ 2870 ZOJ 3221 Lich / 广搜
Lich时间限制(普通/Java):1000MS/3000MS 运行内存限制:65536KByte 描述Dota is a kind of map in the famous game Warcraft 3. It 's so interesting that many ZJUers are fond of it. I am one of those hap原创 2013-11-13 17:44:29 · 1301 阅读 · 0 评论 -
POJ 2046 Gap BFS+哈希
将4*8的矩阵转成一个64位整数,我是用乘2的方法转成long long的,判断有没有出现过这个状态就用有没有出现这个数字来表示,然后用哈希链地址发解决冲突,x%mod相同的放在一个链表里面,剩下的就是普通的广搜了。#include #include #include #include using namespace std;typedef __int64 LL;con原创 2016-07-18 09:03:58 · 371 阅读 · 0 评论