随笔分类 - ---搜索---
摘要:题目链接:hdu 4444 Walk 题意: 有n个矩形,现在biaoge要从一个点走到另外一个点上,不能穿过矩形,但可以沿着边走。 问最少需要多少次转弯才能到达。 题解: 由于数据很大,需要离散化一下,然后就是一个bfs,用三维的vis来记录最好的状态。 细节比较多,需要考虑延边走时的拐角方向。
阅读全文
摘要:题目链接:Educational Codeforces Round 22 C. The Tag Game 题意: 给你一棵树,Alice在顶点1,Bob在顶点x,每人轮流走一步,每次可以去相邻的节点。 如果Alice走到Bob的位置,游戏结束。 Bob想让游戏的轮数尽可能多,Alice想让游戏的轮数
阅读全文
摘要:题目链接:Codeforces Round #403 D. Innokenty and a Football League 题意: 某人需要给若干球队选择队名缩写。已知每个球队的名字必然是 <team name> <hometown name> 的形式。取队名缩写的规则是固定的,只有两种: 每个队的
阅读全文
摘要:题目链接:Codeforces Round #403 div2 C. Andryusha and Colored Balloons 题意: 给你一棵n个节点的树,然后让你染色,规定相连的三个 节点不能同色,问需要的最少颜色,并输出其中一种方案。 题解: 因为只有相邻3个节点不同色。 所以直接DFS,
阅读全文
摘要:题目链接:hdu 1759 Matrix Revolution 题意: 对于给定的一个矩阵A,A+A^2+A^3+...+A^K 是多少呢?其中A^2 表示两个矩阵的乘积A*A,A^3表示三个矩阵的乘积A*A*A,依此类推。 求结果中的非0元素个数。 题解: 乍一看,还以为要矩阵快速幂+矩阵等比求和
阅读全文
摘要:题目链接:hdu 5469 Antonidas 题意: 给你一颗树,每个节点有一个字符,现在给你一个字符串S,问你是否能在树上找到两个节点u,v,使得u到v的最短路径构成的字符串恰好为S。 题解: 这题可以用树的分治+字符串hash,不过搜索+剪枝写的好一样可以过,而且跑的时间和正解差不多。 搜索的
阅读全文
摘要:题目链接:hdu_5925_Coconuts 题意: 给你一张很大的图,和小于200个的障碍点,问这张图中的联通块有多少个 题解: 由于障碍点只有200个,所以肯定有很多的空白部分,我们将这些空白部分 分成k个矩形来压缩,最终形成的压缩图就最大为400*400,然后dfs一下联通块就行了 1 #in
阅读全文
摘要:题目连接:http://codeforces.com/contest/688/problem/C 题意:给你一些边,问你能否构成一个二分图 题解:二分图:二分图又称作二部图,是图论中的一种特殊模型。 设G=(V,E)是一个无向图,如果顶点V可分割为两个互不相交的子集(A,B),并且图中的每条边(i,
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1429 题意:迷宫的加强版,迷宫里有钥匙和门,问在指定的时间下能否逃出 题解:用二进制位来记录是否有该门的钥匙,然后上BFS 1 #include<cstdio> 2 #include<queue> 3
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1254 题解:以箱子为主体,第一层BFS,然后用第二层BFS来判断人是否可以到达,这里细节比较多,要注意 1 #include<cstdio> 2 #include<queue> 3 #include<c
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 题意:走迷宫,找最小的拐角 题解:对BFS有了新的理解,DFS+剪枝应该也能过,用BFS就要以拐角作为增量来搜,即以当前点为坐标,4个方向都搜一次,下一次出队,step就要加1 1 #includ
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1495 题意:不解释 题解:BFS模拟,不过要细心,把所有情况都列举出来,开一个数组记录状态,代码有点长,比较重复,尝试优化了一下,不过WA了 1 #include<cstdio> 2 #include<
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1253 题意:三维BFS,不解释 题解:DFS+剪枝会超时,裸BFS会超时,BFS+剪枝才能AC,有点伤,我以为数据会让DFS速度快一下,看来是我天真了 1 #include<cstdio> 2 #inc
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1181 题意:中文题,不解释 题解:直接DFS 1 #include<cstdio> 2 #include<cstring> 3 bool v[1000];int cnt=0,ok,i; 4 struct
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=1072 题意:给你一个地图,让你在炸弹爆之前找到出口,最初炸弹设定为6,每走一格需要1,中途有地方能让炸弹的时间重置为6,找到出口的最短时间。 题解:直接上BFS,需要注意的是要另开一个数组来存当前位置的
阅读全文
摘要:题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=2717 题解:一维简单BFS,详细看代码,0ms。 1 #include<cstdio> 2 #include<queue> 3 using namespace std; 4 const int maxn
阅读全文

浙公网安备 33010602011771号