摘要:
###1. 欢迎来到西北农林科技大学 >天天同学为了欢迎你来到新的大学新的生活,想在学校的电子屏上写一句话,请你帮帮他。 在屏幕上输出:“Welcome to the College of Information Engineering, Northwest A&F University!”(输出内 阅读全文
摘要:
## 定义 **具有单调性的栈结构,该数据结构的目的是快速找到与一个元素距离最近的元素** ## 过程(摘自oiwiki) 插入 将一个元素插入单调栈时,为了维护栈的单调性,需要在保证将该元素插入到栈顶后整个栈满足单调性的前提下弹出最少的元素。 例如,栈中自顶向下的元素为 \{0,11,45,81\ 阅读全文
摘要:
## 引入 >有 n 个物品和一个容量为 W 的背包,每个物品有重量 w{i}和价值 v{i}两种属性,要求选若干物品放入背包使背包中物品的总价值最大且背包中物品的总重量不超过背包的容量。 我们之后涉及到的所有背包问题都会根据这个背景展开 ##1. 01背包 每个物品只能选取一次。 这样每个物品都会 阅读全文
摘要:
一些定义 先序,中序,后序遍历中的序是遍历根的顺序 比如中序就是先看左子树再看根再看右子树 层序遍历就是这个树的bfs序列 深度:节点v到根r的唯一通路所经过边的数目。记作depth(v)。 约定根节点深度为0。设depth(r) == i,则r属于第i层 高度:树T中所有节点深度的最大值称作该点的 阅读全文
摘要:
##**分治的核心思想是** 1. 自上而下通过递归不断将大问题拆分成两个或多个子问题,直至被拆分出来的子问题可以通过一些简单的方法解决 2. 然后再自下而上地用子问题的解求解大问题的解 3. 最终我们能得到初始问题的解 ##**解决分治问题的时候的代码基本就是** 1. 限制左边界 == 右边界的 阅读全文
摘要:
##一. 定义 二分图是节点由两个集合组成,且两个集合内部没有边的图。 换言之,存在一种方案,将节点划分成满足以上性质的两个集合。 比如下图就是一个二分图,两个集合的元素可以用两种颜色表示,每条边上连接的点属于不同的集合,相同集合的两个点上没有边 **注意:二分图中不存在元素为奇数的环** ![]( 阅读全文
摘要:
定义 : 对一个有向图构造拓扑序列,排序类似流程图那样按先干什么后干什么这样排序 拿大学教学安排举个例子(图来自oi wiki) ![](https://img2023.cnblogs.com/blog/3184306/202307/3184306-20230719173144329-1370939 阅读全文
摘要:
**生成树 : 如果连通图G的一个子图是一棵包含G的所有顶点的树,则该子图称为G的生成树** **最小生成树 : 边权和最小的生成树叫做最小生成树。如果原图不连通,则没有最小生成树** **求最小生成树有两种方法 : prim 和 kurskal** ## 一. prim算法 **将最小生成树看做一 阅读全文
摘要:
**dijkstra比之上次介绍的的bellman-ford算法的用途上最大的区别就是dijkstra只可用于求无负权边图中的最短路,堆优化后的dij比bellman-ford的复杂度(mn)更小(mlogn)** ###代码源关于dijkstra的解释 ![](https://img2023.cn 阅读全文
摘要:
###bellman-ford算法的思想 : 若有向图有n个点,m条边 。 扫描所有边,对每条边进行一次松弛(即对a,b为端点 , 权重为w的边,dist[b] = min(dist[a] , dist[a] + w )) 重复此流程(最多重复n次)直到没有更新操作发生 ### 例题1 bellma 阅读全文