02 2023 档案

摘要:#vector vector, 变长数组,倍增的思想 size() 返回元素个数 empty() 返回是否为空 clear() 清空 front()/back() push_back()/pop_back() begin()/end() 支持比较运算,按字典序 #include <bits/stdc 阅读全文
posted @ 2023-02-28 23:27 csai_H 阅读(20) 评论(0) 推荐(0) 编辑
摘要:#最小生成树 G=(V,E),若G的一个生成子图是一棵树,则称之为G的一棵生成树(记为T) 最小生成树:无向图G的所有生成树中,树枝的权值总和最小的称为G的最小生成树。 常见的求解最小生成树的算法有Prim算法和Kruskal算法。显然,生成树是否存在和图是否连通是 阅读全文
posted @ 2023-02-23 11:42 csai_H 阅读(46) 评论(0) 推荐(0) 编辑
摘要:#最短路问题 图论中求某点到某点最短的路径长度。 图中点1到点4的最短路径长度应为3. ##分类 最短路问题分为两类:单源最短路和多源最短路。前者只需要求一个固定的起点到各个顶点的最短路径,后者则要求得出任意两个顶点之间的最短路径。 ###单源最短路 ####Dijkstra算法 Dij基于一种贪心 阅读全文
posted @ 2023-02-23 11:18 csai_H 阅读(61) 评论(0) 推荐(0) 编辑
摘要:##线段树(Segment Tree) 线段树是主要用于维护区间信息(要求满足结合律)的数据结构。与树状数组相比,线段树可以在O(logN) 的时间复杂度内实现**单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)**等操作。 ###引入: 问题1: 有 $n(n \leq 阅读全文
posted @ 2023-02-10 16:03 csai_H 阅读(19) 评论(0) 推荐(0) 编辑
摘要:#并查集 大佬笔记如下: 通俗易懂 https://zhuanlan.zhihu.com/p/93647900 ##并查集是什么? 主要用于解决一些元素分组的问题。它管理一系列不相交的集合,并支持两种操作: 合并:把两个不相交的集合合并为一个集合。 查询:查询两个元素是否在同一个集合中。 作用: 实 阅读全文
posted @ 2023-02-10 12:32 csai_H 阅读(54) 评论(0) 推荐(0) 编辑
摘要:#优先队列 ##优先队列/堆 优先队列又名二叉堆,是特殊的二叉树。二叉堆有两种:最大堆和最小堆 最大堆(大根堆):父结点的键值总是大于或等于任何一个子节点的键值 最小堆(小根堆):父结点的键值总是小于或等于任何一个子节点的键值 优先队列:在C++中优先队列默认的是大根堆,如果用小根堆则加入great 阅读全文
posted @ 2023-02-07 13:47 csai_H 阅读(88) 评论(0) 推荐(0) 编辑
摘要:#三分 (单峰/单谷函数求最大/最小值) ##影子长度 题目描述: 人左右走动,求影子L的最长长度。 分析: 根据图,发现当灯、人的头部和墙角成一条直线时(假设此时人站在A点),此时的长度是影子全在地上的最长长度。 当人再向右走时,影子开始投影到墙上,当人贴着墙,影子长度即为人的高度。 所以当人从A 阅读全文
posted @ 2023-02-05 13:50 csai_H 阅读(137) 评论(0) 推荐(0) 编辑
摘要:二分 (类似于单调函数求零点) 二分查找 在一个单调有序的集合中查找元素,每次将集合分为左右两部分,判断解在哪个部分中并调整集合上下界,重复直到找到目标元素 题目: 给定一串n个单调递增的数,有q次询问>=x且<=y的数有多少个 数据规模:1n105 1$\leq q \ 阅读全文
posted @ 2023-02-02 19:39 csai_H 阅读(14) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示