- 博客(2)
- 收藏
- 关注
原创 洛谷P1135 奇怪的电梯--dfs剪枝和bfs
如果来到此楼,但是之前已经存在花费比这更少的步数就能到达这里的情况,那说明中间肯定绕了路,不是最短路。2.可能有死循环,比如3 1 2 0 2,从3到4层,可能在3和5之间一直往返(每次到3都先进入上楼的路径)。思索了一下,发现可以加入条件:如果当前路径的步数已经超过了之前统计过的最少步数,那这肯定不是最短路,直接返回。既然没wa只有tle,自己的算法应该是没啥问题的,那就是还有没剪掉的枝。2-1-此时本来要到3,但是之前的路径里我们已经到过3,肯定绕路了。可以100分了,应该快了很多。
2024-04-11 23:25:38
326
1
原创 蓝桥杯2023省b——飞机降落(dfs)以及萌新关于dfs的思考
可以抽象成有一个数列{1,2,3},例举所有的排列顺序{123}{132}{213}{231}{312}{321}。此时的数字2,已经没有被使用过了,目前的排列顺序是{1,3,},第三层递归依旧从int i=1开始,1已经被使用,但是2没有,所以第三个数字填为2。第三层遍历已经到达数组的尽头,递归结束,返回第二层,此时for循环里的i++(原本等于2),自增为3,进入第三层递归。如何在更新路径时,把数字的标记擦掉?飞机1只能坚持两分钟,但是如果先降落一,降落过程太久,会把飞机2耗死,正确答案应该是2→1。
2024-04-11 18:17:44
431
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人