- 博客(3)
- 收藏
- 关注
原创 模拟赛题
lca的求法,正常的第一思维都是先让两个点爬到同一高度,然后再一起一格一格往上爬,倍增lca也是这个原理,但是利用了倍增加速了“向上爬”的过程。每次向上爬的高度都是2的幂。可设 f(i,j) f(i,j) 为节点 ii 向上爬 2j2^j 个的高度所达的节点,则f(i,0)f(i,0)就是i的父亲。可以得出一个状态转移方程式子(在代码实现中可以像DP一样用数组表示):f(i,j)=f(f(i,j−
2018-02-02 16:52:25 166
原创 BFS-最短路(迷宫)
写一下BFS: 例题:http://noi.openjudge.cn/ch0205/2753/ 走迷宫 描述 一个迷宫由R行C列格子组成,有的格子里有障碍物,不能走;有的格子是空地,可以走。 给定一个迷宫,求从左上角走到右下角最少需要走多少步(数据保证一定能走到)。只能在水平方向或垂直方向走,不能斜着走。 输入 第一行是两个整数,R和C,代表迷宫的长和宽。( 1<= R,C <= 40
2017-08-18 16:33:32 2036
原创 DFS-floodfill
第一篇博客,写什么呢 就连通块吧! 选一道例题:https://www.luogu.org/problem/show?pid=1454 圣诞夜的极光 侵删 当然是DFS啦,dfs求连通块是最好的,思路就是先填第一个点,接着按一定的顺序向周围扩散,如果已被搜索过或以到达边界就不搜 也可以用来求迷宫中的两点是否联通Cpp题解如下(已AC):#include<iostream>#includ
2017-08-18 16:14:42 181
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人