随笔分类 -  疑难杂谈以及总结

摘要:一.递推 学的第一种方法就是这个,但是个人认为这种方式在某些题上比较难实现,比如:Blance Number(HDU-3709).这道题本蒟蒻没想出怎么用递推预处理,反而是记忆化搜索的方式更容易懂. 以HDU-2089为例,本题的递推还是比较好实现的. 代码 二.记忆化搜索 这种方法就比较烂大街了, 阅读全文
posted @ 2021-05-30 10:59 acmloser 阅读(73) 评论(0) 推荐(0) 编辑
摘要:最短路算法整理 1.Dijkstra 算法 先讲讲朴素的Dijkstra算法的思路.朴素的Dijkstra算法先将起点入队.然后找到一个起点距离最近的点.再用这个点去更新其他所有的点.一共有多少个点就进行多少次迭代.因为每次找到一个用于更新距离的点.它的最短距离就已经确定了. 核心代码: #incl 阅读全文
posted @ 2021-04-26 20:18 acmloser 阅读(46) 评论(0) 推荐(0) 编辑
摘要:bfs搜索模型. 最常见的模型:flood fill. 一般用于计算连通块.需要标记哪些点走过,所以dfs求flood fill时不需要恢复现场. bfs通常应用:最短路 根据bfs的特性第一次走到该点就是最短距离. 多源bfs.多个起点,求到达其他点的最短距离.思想是建立超级源点.求超级源点到其他 阅读全文
posted @ 2021-04-11 09:22 acmloser 阅读(112) 评论(0) 推荐(0) 编辑
摘要:bfs也用于求最短路的问题.但是一般bfs有个限制是边权必须相同.这样才能保证第一次到达此点,此点的距离就是最短距离(即入队的时候最短距离已经确定了) 证明: bfs队列里符合单调性和二段性. 一般用数学归纳法证明.当队列里只有一个点是正确的.假设队列里有n个点,队列与源点距离分布为 x x x.. 阅读全文
posted @ 2021-04-11 00:10 acmloser 阅读(95) 评论(0) 推荐(0) 编辑
摘要:1. 树的重心:重心是指树中的一个结点,如果将这个点删除后,剩余各个连通块中点数的最大值最小,那么这个节点被称为树的重心。 性质: 树中所有点到重心的距离和是最小的,一棵树最多有两个重心(比如就两个点连个边). 把两棵树通过加一条边得到一颗新的树,新的树的重心必然在连接原来两棵树重心的路径上. 一棵 阅读全文
posted @ 2021-04-07 21:32 acmloser 阅读(64) 评论(0) 推荐(0) 编辑
摘要:AcWing 734. 能量石 和 HDU 1074 Doing Homework 以及POJ 陪审团的区别 这3题属实看得我有点迷惑与HDU不同的是,这道不允许使用结构体dp的题都不是要求全部选完,只是选部分.HDU要求作业必须全部做完.而且time与cost可以分别记录.原因不知道是否是在这. 阅读全文
posted @ 2021-03-30 16:12 acmloser 阅读(32) 评论(0) 推荐(0) 编辑
摘要:暂时的总结 01背包:n种物品和体积为m的背包,每种物品只能选1次,问能装的最大价值: f[i][j] = f[i-1][j-v]+w,f[i-1][j](以最后一步选与不选来划分集合) 观察式子可知,f[i][j]只能由f[i-1]的状态转移而来,因此只需要保存f[i]与f[i-1]两个状态. 0 阅读全文
posted @ 2021-03-28 13:51 acmloser 阅读(69) 评论(0) 推荐(0) 编辑