随笔分类 - 搜索
摘要:水 A - Kefa and First Steps /************************************************ * Author :Running_Time * Created Time :2015/9/23 星期三 00:19:33 * File Name
阅读全文
摘要:题目传送门题意:有一张无向图,度数小于2的点会被去掉,直到全都大于等于2,问连通块顶点数为奇数的权值和为多少分析:首先DFS把度数小于2的vis掉,第二次DFS把属于同一个连通块的vis掉,检查是否为奇数个定点,是累加和。用sz[i]表示i点真实还连着的点的个数代码:/***************...
阅读全文
摘要:题目传送门题意:中文题面分析:放官方题解,就是从1为根节点深搜记录节点的深度,选出最大的深度的点,将该到达该点的节点都vis掉,然后再重新计算没有vis的点的深度,找最大的相加就是答案。放张图好理解:收获:计算树的节点的深度代码:/**********************************...
阅读全文
摘要:题目传送门题意:判三角恋(三元环)。如果A喜欢B,那么B一定不喜欢A,任意两人一定有关系连接分析:正解应该是拓扑排序判环,如果有环,一定是三元环,证明。DFS:从任意一点开始搜索,搜索过的点标记,否则超时。看是否存在两点路程只差等于2,如果存在,则说明有上述的三角环。其他做法。收获:DFS搜索一定要...
阅读全文
摘要:题目传送门题意:一个(r*c#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #...
阅读全文
摘要:题目传送门 1 /* 2 BFS:和UVA_11624差不多,本题就是分别求两个点到KFC的最短路,然后相加求最小值 3 */ 4 /************************************************ 5 Author :Running_...
阅读全文
摘要:题目传送门 1 /* 2 BFS:倒水问题,当C是奇数时无解。一共有六种情况,只要条件符合就入队,我在当该状态vised时写了continue 3 结果找了半天才发现bug,泪流满面。。。。(网上找份好看的题解都难啊) 4 */ 5 /***************...
阅读全文
摘要:题目传送门 1 /* 2 DFS:油田问题,一道经典的DFS求连通块。当初的难题,现在看上去不过如此啊 3 */ 4 /************************************************ 5 Author :Running_Time 6 Creat...
阅读全文
摘要:题目传送门 1 /* 2 BFS:额,这题的数据范围太小了。但是重点是最短路的求法和输出路径的写法。 3 dir数组记录是当前点的上一个点是从哪个方向过来的,搜索+,那么回溯- 4 */ 5 /*****************************************...
阅读全文
摘要:题目传送门 1 /* 2 BFS:首先对火搜索,求出火蔓延到某点的时间,再对J搜索,如果走到的地方火已经烧到了就不入队,直到走出边界。 3 */ 4 /************************************************ 5 Author ...
阅读全文
摘要:题目传送门题意:'#'表示草地,两个人在草地上点火,相邻的草地会烧起来,每烧一格等1秒,问最少要等几秒草地才烧完分析:这题和UVA 11624 Fire!有点像,那题给定了两个点,这题两点不确定,取最小值。可以仿照11624的做法,两次BFS,第二次更新最小值,这样我跑了900多ms。后来发现不需要...
阅读全文
摘要:题目传送门 1 /* 2 BFS:六种情况讨论一下,BFS轻松解决 3 起初我看有人用DFS,我写了一遍,TLE。。还是用BFS,结果特判时出错,逗了好长时间 4 看别人的代码简直是受罪,还好自己终于发现自己代码的小错误:) 5 */ 6 /***********...
阅读全文
摘要:题目传送门 1 /* 2 题意:两块扑克牌按照顺序叠起来后,把下半部分给第一块,上半部给第二块,一直持续下去,直到叠成指定的样子 3 DFS:直接模拟搜索,用map记录该字符串是否被搜过。读懂题目是关键。 4 */ 5 /*******************************...
阅读全文
摘要:题目传送门 1 /* 2 DFS:从大到小取模,因为对比自己大的数取模没意义,可以剪枝。但是我从小到大也过了,可能没啥大数据 3 */ 4 /************************************************ 5 Author :Running_T...
阅读全文
摘要:题目传送门 1 /* 2 题意:从一个数到另外一个数,每次改变一个数字,且每次是素数 3 BFS:先预处理1000到9999的素数,简单BFS一下。我没输出Impossible都AC,数据有点弱 4 */ 5 /*******************************...
阅读全文
摘要:题目传送门 1 /* 2 题意:找出一个0和1组成的数字能整除n 3 DFS:200的范围内不会爆long long,DFS水过~ 4 */ 5 /************************************************ 6 Author :Ru...
阅读全文
摘要:题目传送门 1 /* 2 题意:问最少翻转几次使得棋子都变白,输出翻转的位置 3 状态压缩+枚举:和之前UVA_11464差不多,枚举第一行,可以从上一行的状态知道当前是否必须翻转 4 */ 5 #include 6 #include 7 #include 8 using na...
阅读全文
摘要:题目传送门 1 /* 2 BFS:这题很有意思,像是地下城,图是立体的,可以从上张图到下一张图的对应位置,那么也就是三维搜索,多了z坐标轴 3 */ 4 #include 5 #include 6 #include 7 #include 8 using namespace std; ...
阅读全文
摘要:题目传送门 1 /* 2 DFS:因为一行或一列都只放一个,可以枚举从哪一行开始放,DFS放棋子,同一列只能有一个 3 */ 4 #include 5 #include 6 #include 7 using namespace std; 8 9 char maze[10][10];1...
阅读全文
摘要:题目传送门 1 /* 2 题意:求从(1, 1)走到(n, m)的二进制路径值最小 3 BFS+贪心:按照标程的作法,首先BFS搜索所有相邻0的位置,直到1出现。接下去从最靠近终点的1开始, 4 每一次走一步,不走回头路,只往下或往右走。因为满足i = j +...
阅读全文