
+搜索
「已注销」
zhangzhang
展开
-
AtCoder Beginner 073 joisino's travel(多源最短路径Floyd|DFS)
题目链接题意一共有n个点,m个边,现在一个人要去其中的r个地点R1,R2,R3,R4…Rr(不一定按照这个顺序)他可以坐飞机去第一个点,然后坐飞机从最后一个点返回,剩下的点只能走路,让我们求出“经过这r个点的最短路程” 这个题我坑了,刚开始没有想到可以从任意一个点出发。一直以为题意是必须从第一个点出发,所以把dfs()里面的for(int i=1;i<=r;i++)写成了for(int i=2;原创 2017-09-09 22:25:27 · 590 阅读 · 0 评论 -
UVA 572 Oil Deposits(DFS)
题目链接题意给出一个m行n列的矩阵,@字符表示油田,油田可以八连通,询问一共有几个八连块解决我想说对于两个月前(2017.07)的我,我也是连这种简单的DFS都不会的人(⊙o⊙)…经过暑期集训会的东西多了好多好多,如果让我一个人学…怕是要完^_^解决就是DFS深搜一下遍历每一个是’@’的点,让ans+1具体可以看下注释^_^#include<bits/stdc++.h>using na原创 2017-09-08 22:14:47 · 279 阅读 · 0 评论 -
UVA 10285 Longest Run on a Snowboard(记忆化搜索|动态规划入门)
题目链接题意给出一个m x n的地图,要求寻找地图上严格下降的最长路径解决入门动态规划我们使用dp[i][j]保存“从当前节点出发,能走的最长路径的长度”对每一个点进行一次dfs,dfs的同时保存dp[i][j]注意记忆化搜索,一个节点计算过,就不必再次计算了,使用vis[i][j]保存当前节点是否访问过#include<bits/stdc++.h>using namespace std;原创 2017-08-28 19:41:46 · 347 阅读 · 0 评论 -
UVA_439 Knight Moves
UVA_439 Knight Moves 题意给出一个标准的象棋棋盘,给出马的起始位置和目标位置,问最少要跳几次解决我大概是傻了,刚开始还不知道要怎么做…之前做的BFS题移动方向都是”上下左右”或者是”八连通”,一看到”走日字”就转不过弯了(⊙o⊙)…所以这个题就是裸BFS“`java int maps[9][9],dis[9][9]; int dir[8][2]={{2,1},{2,-原创 2017-08-16 07:20:26 · 330 阅读 · 0 评论 -
UVA_1600 Patrol Robot
题目UVA_1600 Patrol Robot 题意机器人从地图左上角走到地图右下角. 地图上有障碍物,机器人最多可以连续跨越k个障碍物(注意没有要求必须是直线),询问最短路径解决在正常的BFS上面增加一些条件增加vis数组的第三个维度.第三个维度表示在当前位置,已经穿越的障碍物数量为level的情况是否已经被处理注意同一地点,不同level不冲突,比如vis[1][2][2]==1,当访问原创 2017-08-16 07:19:43 · 354 阅读 · 0 评论