cf 442 div2 D bfs最短路
来源:互联网 发布:收看电视直播的软件 编辑:程序博客网 时间:2024/05/25 01:35
题意:本题就是说 给你一个n m的矩阵 n,m<=1000 每一个位置要么是'.' (可行) 要么是‘#’ (不可行) 每一秒 我们可以走1~k 步 问由(x1 y1)到(x2,y2)的最短用时
思路:不难想到是一个裸的bfs题目,但我最终tle了 orz 我自己的优化是这样的 对于当前位置 x,y 如果现在他前进的方向 之前走过 我们记录一个跳转的值 表示从这一位置能跳过的长度 这样能够减少不必要的判断(写丑了)
本题还有一些重要剪枝 :1 我们在拓展位置的时候 如果拓展到答案直接退出 而不是等到从queue 中front 出答案才break 这样的速度能差出几倍 因为前者相当于遍历完深度为ans-1 即可 而后者要遍历出来 ans 层才可以。
2 这个剪枝是本题核心剪枝:我们考虑 一个时间戳 表示到达每一个位置的最短时间 对于 要到达的位置如果 nxt>t[x][y] 那么x,y 位置及其之后不用在找了 (这样能够减少许多循环 也能减少许多 结点)
阅读全文
0 0
- cf 442 div2 D bfs最短路
- CF #302 Div2 D Destroying Roads(最短路)
- E. Paths and Trees (CF 303 div2)最短路
- CF 96D Volleyball(最短路套最短路)
- CF 174(div2) D
- CF 161 div2 D
- CF 189 div2 D
- CF 159 div2 d
- cf.256.div2.D
- cf R327 div2 D
- CF-30 D - King's Problem?(枚举+最短路)
- CF 144D Missile Silos [最短路+想法]
- CF 190div2 D(贪心)
- CF 345 div2 D题
- cf div2 #453 ABC(D)
- CF#333(Div2) C. The Two Routes(最短路)
- Codeforces Round #302 (Div. 2) D bfs最短路
- (BFS)codeforces #Round354-div2-D
- 文章标题
- linux操作系统下部署Javaweb项目教程
- Nginx负载均衡与高可用的实现
- 判断网络是否连接
- javascript中获取dom元素高度和宽度的方法如下:
- cf 442 div2 D bfs最短路
- android UI自定义组件
- 济南模拟赛day3t1
- C++之初识类
- 了解Maven(一)
- turtlebot机器人模拟平台
- Django REST FrameWork中文教程6: ViewSets&Routers
- 栈的应用_简单表达式求值
- JS之 输入框限制输入数字且最大精确到小数点后两位