随笔分类 -  搜索

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