摘要: 本篇博客主要讲解树状数组的基础应用 1、单点修改与区间查询 2、区间修改与单点查询 树状数组的用处及优势 相比于线段树其扩展性较弱,但代码短容易实现,一般来说以上两种情况用树状数组解决,区间的修改与查询用线段树更加方便。 树状数组的结构 前置知识: 位运算 lowbit 观察下图(图片出自一篇好文l 阅读全文
posted @ 2023-08-27 23:19 LC_Nocl 阅读(11) 评论(0) 推荐(0)
摘要: 定义 1、生成树 生成树本质上是一个图的子图,它的特性如下 它是一颗无根树它包含原图的所有节点听着可能有点抽象,说大白话,就是他是一个图删掉若干条边形成的树 当然,一个图的生成树可能有很多 2、最小生成树 在若干个生成树中边权和最小的,该树成为这个图的最小生成树 算法一 Prim(加点法) 算法分析 阅读全文
posted @ 2023-08-16 23:08 LC_Nocl 阅读(10) 评论(0) 推荐(0)
摘要: 图当中的最短路算法,主要分为单源最短路径与多源最短路径,本文分别讲解一种经典算法 单源最短路径——dijkstra 算法思路 单源最短路径意为从某个点到其余点的最短路径(权值最小) 算法本质为贪心思想,考虑局部最优。每次找到路径最短的节点标记走过 在每一次取最小节点时用路过该节点的路径更新存着最短路 阅读全文
posted @ 2023-08-16 19:41 LC_Nocl 阅读(6) 评论(0) 推荐(0)
摘要: 定义 树形dp意为在树形结构上进行动态规划,由于在树上,所以使用 dfs 的方式。 需要注意的是,每个状态的转移都在回溯时完成。即先遍历到最深的节点,在依次向上转移。这符合动态规划的一般思路(将子问题推广到整体) 特点:选某个节点就会有相应的前提(选与不选其前提节点) 注:本文中讲解的树形dp分为两 阅读全文
posted @ 2023-08-13 14:22 LC_Nocl 阅读(4) 评论(0) 推荐(0)